동일한 내부 네트워크에 있는 한 서버에서 다른 서버로 이메일을 보내려고 할 때 오류가 발생합니다.

동일한 내부 네트워크에 있는 한 서버에서 다른 서버로 이메일을 보내려고 할 때 오류가 발생합니다.

이 질문을 다른 포럼에 게시했지만 주제에서 벗어난 것으로 간주되었습니다. 이번에는 제대로 된 포럼이 열렸으면 좋겠습니다.

동일한 내부 네트워크에 10.0.50.101(Linux postfix)과 .103(Windows iMail)이라는 두 개의 이메일 서버가 있습니다. 둘 다 공개 주소를 가지고 있으며 둘 사이에 이메일을 보내지 않는 한 잘 작동합니다. 그들은 항상 실패합니다. 다음은 Pi에 이메일을 보내려고 할 때 Windows 컴퓨터에서 발생한 로그 조각입니다.

09:12 21:54 SMTP-(fecc01bb1000e5e9) R<[email protected]> - 1
09:12 21:54 SMTP-(fecc01bb1000e5e9) [x] doing direct send mysite.com
09:12 21:54 SMTP-(fecc01bb1000e5e9) Trying mysite.com (0)
09:12 21:54 SMTP-(fecc01bb1000e5e9) [x] Connecting socket to service <SMTP> on host <mysite.com> using protocol <tcp>
09:12 21:54 SMTP-(fecc01bb1000e5e9) [x] using source IP for myothersite.com [10.0.50.103]
09:12 21:54 SMTP-(fecc01bb1000e5e9) 220 mail.mysite.com ESMTP Postfix(Raspbian)
09:12 21:54 SMTP-(fecc01bb1000e5e9) Connect mysite.com [10.0.50.101:25](1)
09:12 21:54 SMTP-(fecc01bb1000e5e9) >EHLO myothersite.com
09:12 21:54 SMTP-(fecc01bb1000e5e9) 250-mail.mysite.com
09:12 21:54 SMTP-(fecc01bb1000e5e9) 250-PIPELINING
09:12 21:54 SMTP-(fecc01bb1000e5e9) 250-SIZE 10240000
09:12 21:54 SMTP-(fecc01bb1000e5e9) 250-VRFY
09:12 21:54 SMTP-(fecc01bb1000e5e9) 250-ETRN
09:12 21:54 SMTP-(fecc01bb1000e5e9) 250-STARTTLS
09:12 21:54 SMTP-(fecc01bb1000e5e9) 250-ENHANCEDSTATUSCODES
09:12 21:54 SMTP-(fecc01bb1000e5e9) 250-8BITMIME
09:12 21:54 SMTP-(fecc01bb1000e5e9) 250-DSN
09:12 21:54 SMTP-(fecc01bb1000e5e9) 250 CHUNKING
09:12 21:54 SMTP-(fecc01bb1000e5e9) >MAIL FROM:<[email protected]>SIZE=646
09:12 21:54 SMTP-(fecc01bb1000e5e9) 250 2.1.0 Ok
09:12 21:54 SMTP-(fecc01bb1000e5e9) >RCPT To:<[email protected]>
09:12 21:54 SMTP-(fecc01bb1000e5e9) 550 5.7.23 <[email protected]>:
Recipient address rejected: Message rejected due to: SPF fail - not authorized. Please see http://www.openspf.net/Why?s=mfrom;[email protected];ip=10.0.50.103; r=<UNKNOWN>
09:12 21:54 SMTP-(fecc01bb1000e5e9) Unexpected RCPT TO response from the SMTP server on mysite.com: 550 5.7.23 <[email protected]>: Recipient address rejected: Message rejected due to: SPF fail - not authorized. Please see http://www.openspf.net/Why?s=mfrom;[email protected];ip=10.0.50.103;r=<UNKNOWN>
09:12 21:54 SMTP-(fecc01bb1000e5e9) >QUIT
09:12 21:54 SMTP-(fecc01bb1000e5e9) 221 2.0.0 Bye
09:12 21:54 SMTP-(fecc01bb1000e5e9) [u] closing socket (u)

그리고 거의 같은 시기의 Pi 시스템 로그 파일의 또 다른 조각입니다.

Sep 12 21:54:43 email-2 dovecot: imap([email protected])<19089><GXUG9YboidFDK9hG>: Logged out in=877 out=11039 deleted=0 expunged=0 trashed=0 hdr_count=0 hdr_bytes=0 body_count=0 body_bytes=0
Sep 12 21:54:45 email-2 dovecot: imap([email protected])<19091><evQZ94bontFDK9hG>: Logged out in=388 out=2997 deleted=0 expunged=0 trashed=0 hdr_count=0 hdr_bytes=0 body_count=0 body_bytes=0

시스템 로그의 항목은 이메일이 전송/처리되었는지 확인하기 위해 서버에서 메일을 받는 내 노트북과 관련이 있을 수 있습니다(?).

또한 오류 메시지의 URL을 따라가려고 하면 해당 사이트를 사용할 수 없다는 메시지가 반환됩니다.

네트워크 내 메일 전송(포트 25)이 작동하지 않는 이유에 대한 아이디어를 제공해 주셔서 미리 감사드립니다.... RDK

답변1

DNS 레코드 설정과 관련된 문제인 것 같습니다. SPF(Sender Policy Framework) 설정을 지정하는 DNS 텍스트 레코드에는 메일 전송 방법과 충돌하는 정보가 포함될 수 있습니다. 로그의 텍스트를 봅니다.

Message rejected due to: SPF fail - not authorized.

DNS SPF 레코드의 내용을 확인하세요.

Windows 서버는 Windows Server에서 메일을 보내는 데 사용되는 도메인에서 메일을 보낼 권한이 있는 서버를 설명하는 SPF 레코드에 지정된 조건을 충족하지 않을 수 있습니다.

프로그램 제안:

  1. DNS 서버로 이동하여 Windows Server 관련 메일 도메인에 대해 생성된 SPF 레코드를 임시로 삭제합니다. TXT/SPF 레코드가 만료되었으며 캐시되지 않았는지 확인하세요. Postfix 서버는 더 이상 확인을 위해 이를 사용해서는 안 됩니다.
  2. Windows Server에서 Postfix로 메시지를 보내고 로그를 확인해 보세요.
  3. 이메일을 성공적으로 보내면 문제의 원인을 찾은 것입니다. Windows 서버가 레코드에 나열된 조건을 충족하도록 SPF 설정을 조사하고 상황에 적합한 텍스트 DNS SPF 레코드를 만듭니다.

예를 들면 다음을 참조하세요.

DNS 레코드 확인 예시

Windows 서버 메일 도메인의 이름을 mywinmail.net과 같이 지정합니다.

Linux 서버에서 MX 레코드 확인:

dig -t MX mywinmail.net

TXT 레코드 확인:

dig -t TXT mywinmail.net

TXT 레코드가 여러 개인 경우 SPF 유형을 선택해야 합니다.

dig -t TXT mywinmail.net | grep -i spf

관련 정보