
我有一個僅運行 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
反而。也許這是編碼中的錯誤。