我有一个仅运行 postfix 的 Centos 服务器。我想过滤掉包含单词gratis
or grátis
or grétis
or的邮件grâtis
。
第二个字母就是问题所在。所以我使用了这个拒绝:
/^Subject:.*gr.tis/ REJECT Your message was rejected
问题是“点”与后缀不匹配特殊字符。我的意思是,如果我发送一封包含该主题词的电子邮件,gratis
它就会被过滤。但如果我发送一封包含它的电子邮件则grátis
不会。
我该如何解决这个问题?
答案1
将垃圾邮件样本保存到文件中并使用例如 、cat -A
、sed -n l
、hexdump
等对其进行检查- 不惜一切代价查看主题:标头中的实际字节hd
。od
例如
grep '^Subject:' /tmp/saved.spam | sed -n l
这将帮助您创建准确的正则表达式以放入 header_checks 文件中。
答案2
尝试使用:
/^Subject:.*gr.{1,2}tis/ REJECT Your message was rejected
反而。也许这是编码中的错误。