我已经使用 sendmail 设置了 opendkim,看起来一切正常,但它只对本地发送的消息进行签名(来自网络邮件客户端或自动订阅)。当我尝试使用电子邮件客户端(例如 The Bat)发送消息时,maillog 显示以下内容
Apr 21 11:48:02 d3355 opendkim[57808]: v3L8m2jE059174: [xx.167.249.178] [xx.167.249.178] not internal
Apr 21 11:48:02 d3355 opendkim[57808]: v3L8m2jE059174: not authenticated
Apr 21 11:48:02 d3355 opendkim[57808]: v3L8m2jE059174: no signature data
其中 xx.167.249.178 是我的本地 IP 地址。如果我将其添加到 TrustedHosts,则 opendkim 开始对从此 IP 发送的消息进行签名。但这当然不是一个解决方案,我无法每次从新网络发送消息时都添加 IP 地址。
答案1
听起来您想信任并签署来自任何地址的消息。在这种情况下,您可以向 TrustedHosts 文件添加范围,添加 0.0.0.0/0 将接受并签署来自所有 IP 的消息。
答案2
使用SigningTable
opendkim.conf 中的选项,根据在From:
标头字段而不是发送者的 IP 地址。