这里是我遇到我的问题的设置:
我的电脑有IP 10.6.2.5。 有一个DNS服务器ns.isp6.lab IP 10.6.2.4(我可以达到它)。
我的电脑安装了Postfix + Dovecot + SpamAssassin。 我收到来自isp6.lab域名的使用DKIM签名的电子邮件。 他们用这个域密钥签名:mail._domainkey.isp6.lab
当我dig mail._domainkey.isp6.lab TXT我得到一个与公共RSA密钥的答案。
问题是,Spammassassin没有find它,这是一个收到的电子邮件的标题的一部分:
X-Spam-HAM-Report: * -1.0 ALL_TRUSTED Passed through trusted hosts only via SMTP * 0.1 DKIM_SIGNED Message has a DKIM or DK signature, not necessarily * valid * 0.0 T_DKIM_INVALID DKIM-Signature header exists but is not valid
所以我激活了SpamAssassin的debugging日志,这是我发现:
cat spamd.log | grep dkim Tue Oct 7 16:38:50 2014 [21673] dbg: dkim: performing public key lookup and signature verification Tue Oct 7 16:39:00 2014 [21673] dbg: dkim: DKIM, [email protected], d=isp6.lab, s=mail, a=rsa-sha256, c=relaxed/simple, invalid, matches author domain Tue Oct 7 16:39:00 2014 [21673] dbg: dkim: signature verification result: INVALID (PUBLIC KEY: DNS QUERY TIMEOUT FOR MAIL._DOMAINKEY.ISP6.LAB)
我检查了我的/etc/resolv.conf :域名isp6.labsearchisp6.lab nameserver 10.6.2.4
我现在正在寻找几个小时(这似乎没有很好的文档),我检查了我有所有CPAN所需的模块等; 我真的不知道我还能做什么。
在此先感谢您的帮助。
编辑:也许可以在NET :: DNS模块中完成的东西? 我不太了解所有这些模块是如何使用,configuration和相互作用的。
也许你遇到与NET :: DNS和spamassassin有关的错误。 它在这个博客和这个SA邮件列表中解释 。 摘自博客
Net :: DNS版本0.76改变了在Net :: DNS :: Resolver对象中包含一组名称服务器的字段名称:它曾经是'名称服务器',但现在分成两个字段:'nameserver4'和'nameserver6'。
邮件/ SpamAssassin / DnsResolver.pm依靠Net :: DNS :: Resolver对象的内部字段名称来获取recursion名称服务器的默认列表,所以Net :: DNS中的更改打破了这一点。
检查你的回购,如果他们已经解决了这个问题在更新的版本。 如果没有,你可以从这里手动应用补丁