我正在为我的客户运行 Postfix 邮件服务器。邮件通过 Mandrill 中继。Mandrill 需要有效的 DKIM 签名。
这对于转播邮件。也就是说,通过 Roundcube(在同一主机上)发送的邮件工作正常。从 Icedove(从客户端的机器)发送的邮件工作正常。
但邮件发送自本地主机被 Mandrill 拒绝。原因:“未签名”。从本地主机发送意味着使用邮件命令,或者 Postfix 本身。后者比较戏剧性,MAILER-DAEMON 发送的邮件也被拒绝。
我知道发件人的电子邮件地址正确反映了域名。使用错误的域名也会导致 Mandrill 因同样的原因拒绝邮件。
因此,对于中继邮件,我的发件人地址是[电子邮件保护]。对于本地发送的邮件,我的地址也是[电子邮件保护]。
据我所知,Postfix 不必对通过 Mandrill 中继的邮件进行 DKIM 签名。Mandrill 本身会从我的 DNS 服务器获取 DKIM。
尽管如此,DKIM 在 Postfix 中设置正确。当我直接发送(不使用 Mandrill 作为中继主机)时,我的 DKIM 是有效的。在 Postfix 中完全禁用 DKIM 对 Mandrill 没有任何影响。
我没有在此主机上运行 DNS,它是外部 DNS。该域使用 Virtualmin 进行管理。
我不知道从哪里开始查找,所以我还没有包含任何配置详细信息。如果您指出哪些信息是相关的,我会发布它。
答案1
我想我解决了它。
/etc/mailname 包含 mail.abc.nl。我将其更改为 abc.nl。本地邮件现在可以正确发送。
问题是,在配置服务器时,我将其设置为 mail.abc.nl。但我不记得这样做是否有原因。
但到目前为止,我发布的这个问题已经解决了。