我有 postfix 和 spamassassin。最近我发现一封主题为“XXX”的电子邮件发送给所有公司电子邮件地址和别名。
所以我想知道我是否可以拒绝向公司@domain.com 发送特定主题为“XXX”的电子邮件。
请解释一下,因为我不够先进:)
提前致谢
答案1
header __AR_SUBJECT_XXX Subject =~ /XXX/
header __AR_TO_DOMAIN_COM ToCc:addr =~ /\@domain\.com$/i
meta AR_SUBJ_XXX_TO_DOMAIN_COM __AR_SUBJECT_XXX && __AR_TO_DOMAIN_COM
score AR_SUBJ_XXX_TO_DOMAIN_COM 5.0
您必须创建一个与该主题匹配的 perl 正则表达式。如果它确实是“XXX”,那么我上面的方法就可以了。如果您只想要一个文字字符串匹配而不想处理正则表达式,请用\Q
and \E
、like /\QXXX\E/
(或者,对于不区分大小写,用/\QXXX\E/i
)包围该文字字符串。不过,您仍然需要转义斜杠。
这将创建两个谓词规则,一个用于匹配主题,另一个用于匹配To
其Cc
地址(使用为此目的设计的特殊伪标头)(使用特殊修饰符将字段限制为仅地址),该地址与给定域匹配。不要忘记转义您的 at 符号(@
as \@
)和点(.
as \.
)。$
锚点位于地址末尾,因此您不会匹配[email protected]
谓词规则由meta
需要同时触发的规则组合而成,当发生这种情况时,它会将 5.0 分添加到邮件的垃圾邮件分数(默认情况下,SpamAssassin 使用 5 的垃圾邮件阈值)。
这是一个宽泛的规则,对我来说似乎有点冒险,但它确实实现了你的要求。你最好确保你有域名系统和贝叶斯在开始修改自定义规则之前,请确保已启用并正常运行,因为它们是 SpamAssassin 的两个主要主力。
了解有关配置的更多信息:
- SpamAssassin 中的 DNSBL(对于 IP 和 URI 都适用)
- SpamAssassin 中的贝叶斯(这需要主动训练)
- 在 SpamAssassin 中编写规则