我在同一台机器上运行了一个第三方应用程序,localhost
试图通过 smtp 使用 postfix 发送邮件。问题是 postfix 似乎拒绝向某些收件人发送邮件:
内容/var/log/mail
Sep 1 00:05:35 myhost postfix/smtpd[20574]: connect from localhost[127.0.0.1]
Sep 1 00:05:35 myhost postfix/smtpd[20574]: B70E59A050: client=localhost[127.0.0.1]
Sep 1 00:05:35 myhost postfix/smtpd[20574]: lost connection after DATA (0 bytes) from localhost[127.0.0\
.1]
同时发送应用程序显示:
cannot send mail to recipient@... please check connectivity
此错误仅发生在某些收件人身上。
我检查了我的main.cf
:
mynetworks = 127.0.0.1/32, 192.76.247.2/32, 192.76.247.3/32, 192.76.247.4/32
smtpd_recipient_restrictions = permit_mynetworks,reject_unauth_destination
我是否遗漏了什么?或者还有其他设置可以限制收件人吗?
mail_version = 2.9.4
在 SLES11 SP3 上运行 postconf
使用以下方式向同一域发送邮件
echo "test" | mail -s "test" [email protected]
工作正常。
TCP 转储输出
11 0.001483 127.0.0.1 127.0.0.1 SMTP 107 C: RCPT TO:[email protected]>
12 0.002311 127.0.0.1 127.0.0.1 SMTP 80 S: 250 2.1.5 Ok
13 0.002485 127.0.0.1 127.0.0.1 SMTP 72 C: DATA
14 0.002555 127.0.0.1 127.0.0.1 SMTP 103 S: 354 End data with <CR><LF>.<CR><LF>
答案1
< bot >将评论汇总到回答部分</ bot >
邮件日志条目
lost connection after DATA (0 bytes)
意味着您的客户端在 PostfixDATA
在 SMTP 事务中宣布后自行断开连接。
在正常交易中,客户端会在之后发送邮件的标题和正文DATA
。您的客户端行为异常,因为它断开连接而没有向 postfix 发送一个字节。您的 tcpdump 已确认此行为。