对于 SpamAssassin 3.4.2,我添加了以下配置规则集,local.cf
目的是为失败的 DMARC 测试提供垃圾邮件分数。
DMARC 和 SPF Authentication-Results 标头由 创建,opendmarc
DKIM Authentication-Results 标头由opendkim
.
预期输出是添加到 X-Spam-Report 标头的所有三个标头结果的分数。
实际输出仅适用于在 X-Spam-Report 标头中添加p=reject
或p=none
具有适当分数的域,但p=quarantine
即使 DMARC、DKIM 和 SPF Authentication-Results 标头也不会向 X-Spam-Report 标头添加任何内容已按预期添加。
添加到/etc/spamassassin/local.cf
:
ifplugin Mail::SpamAssassin::Plugin::AskDNS
askdns __DMARC_POLICY_NONE _dmarc._AUTHORDOMAIN_ TXT /^v=DMARC1;.*\bp=none;/
askdns __DMARC_POLICY_QUAR _dmarc._AUTHORDOMAIN_ TXT /^v=DMARC1;.*\bp=quarantine;/
askdns __DMARC_POLICY_REJECT _dmarc._AUTHORDOMAIN_ TXT /^v=DMARC1;.*\bp=reject;/
meta DMARC_REJECT !(DKIM_VALID_AU || SPF_PASS) && __DMARC_POLICY_REJECT
score DMARC_REJECT 10
meta DMARC_QUAR !(DKIM_VALID_AU || SPF_PASS) && __DMARC_POLICY_QUAR
score DMARC_QUAR 5
meta DMARC_NONE !(DKIM_VALID_AU || SPF_PASS) && __DMARC_POLICY_NONE
score DMARC_NONE 0.1
endif # Mail::SpamAssassin::Plugin::AskDNS
配置有什么问题?
您所指的配置是从DMARC/Spamassassin/Qmail上的 Random Thoughts 博客复制的。如果由于某种原因您不能使用 OpenDMARC,这篇博文将 AskDNS 作为第三种选择。由于您已经在使用 OpenDMARC,您可以直接
Authentication-Results
在 SpamAssassin 中使用它的标头。从大卫琼斯修改:如果您已实施 OpenDMARC 以在连接阶段拒绝未通过 DMARC 检查的消息
p=reject
,则您的 SpamAssassin 将永远不会看到任何属于第四类的消息,但这里只是为了完整性:因为
Authentication-Results
标题也可以伪造,所以我不会仅根据它们给出高负分。因此,这里最有用的规则是DMARC_FAIL
, 触发p=quarantine
。在我看来,这也可能比本例中的得分更高5.0
,因为发送域已经做出了决定。如果上面的示例配置不合适,这里有一个额外的配置和评分选项: