首页 > 解决方案 > 当 sendmail 转发电子邮件时,接收服务器有时会给出“服务不可用”

问题描述

我为客户托管一个域;域的 A 记录指向我的 IP 地址。当电子邮件到达他域中的某个人时,他只想将其转发给他的 ISP (charter.net)。这在大约 90-99% 的时间里都有效,但一天几次,charter.net 拒绝了“服务不可用”的消息。我们尝试转发到他的 gmail 帐户,同样的事情 - 它通常可以工作,但有时 gmail 会返回“服务不可用”。发生这种情况时,我的 sendmail 显然放弃了。

我怀疑不是收件人的服务器正常运行时间有问题。它拒绝它认为可疑的电子邮件。

我最近为我的服务器的规范名称添加了 SPF 和 DKIM 记录,但我仍然从charter.net 获得“服务不可用”。现在 sendmail DKIM 对源自我的服务器的任何邮件进行签名,但它不会对它转发的电子邮件进行签名。我还没有找到一种方法来配置 opendkim 来做到这一点。但是我已经看到 mandrillapp.com 放弃了它转发的电子邮件;标头包括带有 d=originaldomain.com 的 DKIM 签名和带有 d=mandrillapp.com 的第二个 DKIM 签名。

所以我想我的问题是,

1) 有人真的知道为什么我的服务器从最终收件人那里得到“服务不可用”吗?

2) 我可以配置 opendkim 来签署我的服务器转发的电子邮件吗?

3) 为我客户的域设置 SPF 和/或 DKIM 记录有什么好处吗?

谢谢,鲍勃

附录:对于转发,我在 /etc/mail/virtusertable 中有这样的条目:

a@clientdomain.com a@charter.net

对于 DKIM,我的 sendmail.mc 中有这个:

INPUT_MAIL_FILTER(`opendkim', `S=inet:8891@127.0.0.1')

我在 /etc/mail/local-host-names 中也有 clientdomain.com,正如我上面所说,clientdomain.com 的 A 记录解析为与 mydomain.com 相同的 IP。

标签: emailsmtpsendmaildkim

解决方案


经典的 sendmail 通过别名重定向,~/.forward 文件和virtusertable保持不变的原始信封地址(它MAIL FROM在 SMTP 会话期间的命令中使用)。它可能会使您的转发打破原始发件人域的 SPF 记录设置的限制。

“许多地址”重定向的可能修复:

  • SRS
  • 自定义 sendmail.cf 修复

有关更多详细信息,请访问更合适的站点serverfault.com


推荐阅读