当我尝试将电子邮件从一台服务器发送到同一内部网络上的另一台服务器时出错

当我尝试将电子邮件从一台服务器发送到同一内部网络上的另一台服务器时出错

我在另一个论坛上发布了这个问题,但它被认为是偏离主题的。我希望这次有一个合适的论坛。

我们在同一内部网络上有两个电子邮件服务器,例如 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) 设置的 DNS 文本记录可能包含与您发送邮件的方式冲突的信息。查看日志中的文本:

Message rejected due to: SPF fail - not authorized.

检查您的 DNS SPF 记录的内容。

您的 Windows 服务器可能不符合 SPF 记录中规定的条件,该记录描述了哪些服务器有权从用于从 Windows Server 发送邮件的域发送邮件。

程序建议:

  1. 进入DNS服务器,暂时删除为Windows Server相关邮件域创建的SPF记录。验证 TXT/SPF 记录是否已过期且未缓存。 Postfix 服务器不得再使用它进行检查。
  2. 尝试从 Windows Server 向 Postfix 发送消息并检查日志。
  3. 如果您成功发送电子邮件,则表明您已找到问题的原因。研究 SPF 设置并创建适合您情况的文本 DNS SPF 记录,以便 Windows 服务器满足记录中列出的条件。

参见例如:

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

相关内容