使用 Centos 的 Postfix 上的正则表达式

使用 Centos 的 Postfix 上的正则表达式

我有一个仅运行 postfix 的 Centos 服务器。我想过滤掉包含单词gratisor grátisor grétisor的邮件grâtis

第二个字母就是问题所在。所以我使用了这个拒绝:

/^Subject:.*gr.tis/ REJECT Your message was rejected

问题是“点”与后缀不匹配特殊字符。我的意思是,如果我发送一封包含该主题词的电子邮件,gratis它就会被过滤。但如果我发送一封包含它的电子邮件则grátis不会。

我该如何解决这个问题?

答案1

将垃圾邮件样本保存到文件中并使用例如 、cat -Ased -n lhexdump等对其进行检查- 不惜一切代价查看主题:标头中的实际字节hdod

例如

grep '^Subject:' /tmp/saved.spam | sed -n l

这将帮助您创建准确的正则表达式以放入 header_checks 文件中。

答案2

尝试使用:

/^Subject:.*gr.{1,2}tis/ REJECT Your message was rejected

反而。也许这是编码中的错误。

相关内容