在使用 Spamassasin 识别来自我的域的垃圾邮件时遇到了一些麻烦。
垃圾邮件来自的返回路径[email protected]
,但标题中的发件人字段被设置为[email protected]
。
我已经完成了一个测试,通过连接到 smtp 服务器,并设置我自己的发件人地址([email protected]
),然后在 DATA 标头中使用不同的地址[email protected]
。
当我自己测试时,spamassasin 使用以下变量将其标记为垃圾邮件:
X-Spam-Status: Yes, score=5.0 required=4.5 tests=ALL_TRUSTED,FROM_ADDR_WS,
HEADER_FROM_DIFFERENT_DOMAINS,MISSING_DATE,MISSING_HEADERS,MISSING_MID
然而,在我从外部收到的原始垃圾邮件中,HEADER_FROM_DIFFERENT_DOMAINS
并没有触发!
事实上,原始垃圾邮件的分数为 0!
知道为什么会这样吗?我检查了原始电子邮件,可以清楚地看到返回路径域和字段From:
都是不同的域。
我的目标是,如果任何电子邮件在返回路径中与发件人字段有不同的域,则将其标记为垃圾邮件,我认为该HEADER_FROM_DIFFERENT_DOMAINS
规则会这样做,但它似乎并没有发生在我收到的原始垃圾邮件上。
你知道我哪里做错了吗?
谢谢!
答案1
首先,你应该考虑禁止接受来自 yourdomain.com 地址的邮件,除非使用 SASL 身份验证,例如
smtpd_sender_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_non_fqdn_sender, reject_unknown_sender_domain, reject_unauthenticated_sender_login_mismatch, permit
第二件事是,这些垃圾邮件发送者可能会向您提供非 fqdn From: 标头(例如From: mary
),该标头在接收时会在您的系统上展开。因此不存在域不匹配,因为字段中不存在 milter 级别的域From:
。