当我从邮件服务器向 @bellsouth.net 电子邮件发送测试消息时,postfix 日志显示已成功发送,但该消息始终未到达我的 bellsouth 收件箱。如果 At&T 阻止了这些消息,我是否应该收到失败通知或退回邮件?
我正在尝试排除某些客户收不到电子邮件的原因,但如果 mail.log 中没有任何内容表明邮件被拒绝,我如何知道哪些邮件已成功投递?
日志显示:
Feb 27 09:02:36 MyHOSTNAME postfix/pickup[26175]: D53A72713E5: uid=0 from=<root>
Feb 27 09:02:36 MyHOSTNAME postfix/cleanup[26487]: D53A72713E5: message-id=<[email protected]>
Feb 27 09:02:36 MyHOSTNAME postfix/qmgr[5595]: D53A72713E5: from=<[email protected]>, size=878, nrcpt=1 (queue active)
Feb 27 09:02:37 MyHOSTNAME postfix/smtp[26490]: D53A72713E5: to=<[email protected]>, relay=gateway-f1.isp.att.net[204.127.217.16]:25, delay=0.57, delays=0.11/0.03/0.23/0.19, dsn=2.0.0, status=sent (250 ok ; id=20120227140036M0700qer4ne)
Feb 27 09:02:37 MyHOSTNAME postfix/qmgr[5595]: D53A72713E5: removed
AT&T 服务器接受了该消息,对吗?
我碰巧有 At&T/Bellsouth 电子邮件,但我没有我们发送到的每个 ISP 的帐户。我需要某种方式来了解邮件是否到达目的地。我的 main.cf 文件中是否有任何设置会影响我们是否收到拒绝/退回通知?
答案1
和dsn=2.0.0
正确的relay=
意思是 Bell 的邮件服务器已经接受了该邮件。但是,这并不意味着它将允许该邮件投递到用户的邮箱。在这种情况下,最可能的解释是 Bell South 的垃圾邮件过滤器在邮件到达用户邮箱之前就将其清除了,或者用户自己的邮件软件已经清除了该邮件。
确保返回电子邮件地址接受邮件,以便从 Bell South 的服务器退回邮件。如果您尝试将邮件发送到其服务器上实际上不存在的邮箱,这一点也很重要。
检查您的邮件配置,以确保邮件未被标记为垃圾邮件(通过自己发送邮件然后检查邮件头)。Postfix 应该写入正确的邮件头/信封,以便邮件看起来来自“发件人”地址中指定的域。因此,如果您的邮件服务器是 mail.example.com,但服务器的主机名实际上是 mailserver.int.hostingprovider.com,则需要将 postfix 设置为正确伪装为 example.com。这也应该与您的反向 DNS 相对应,以便查找服务器的 IP 地址会返回服务器地址(如果不正确,请将您的 PTR 记录设置为该地址)。这可以通过 dig 轻松检查。
dig example.com
dig -x <your IP address>
您还应该考虑设置防晒指数在您的 DNS 中,因为它可以快速简单地添加来自您服务器的邮件的反垃圾邮件分数。
答案2
Feb 27 09:02:37 MyHOSTNAME postfix/smtp[26490]: D53A72713E5: to=<[email protected]>, relay=gateway-f1.isp.att.net[204.127.217.16]:25, delay=0.57, delays=0.11/0.03/0.23/0.19, dsn=2.0.0, status=sent (250 ok ; id=20120227140036M0700qer4ne)
Bellsouth 接受了该消息;这不再是 Postfix 的责任。
询问 bellsouth 发生了什么事。