CentOS 6.x 中把clamav 和 postfix 整合

傳統上都是把 clamav 和 mailscanner 或 amavisd-new 整合後再和postfix 整合。

但是一方面postfix已經能夠擋掉一大堆廣告信了,另一方面不知道為什麼,amavisd與 mailscanner跟CentOS的整合度真的太爛了,三不五時就出現一大堆perl module錯誤,每次都要搞個半死。

所以我這次乾脆不管了,直接把 clamav與 postfix接起來。

作法就是裝起 clamd 與 clamav-milter 

修改一下  /etc/clamav-milter.conf  確認一下 soket 檔案的位置(照說不用修改)

確認一下 /etc/group ,postfix 必須屬於 clamav的群組

 修改 /etc/postfix/main.cf  加上

milter_protocol = 2
smtpd_milters=unix:/var/clamav/clmilter.socket

然後把  clamd clamav-milter postfix都重跑,並且設定為開機自動啟動即可。

繁簡體轉換的問題

這是一個老問題,我們用過很多解法來解,甚至自己做過對照表,最近看到一種比較有效率的作法,利用php的 iconv()函數裡面的 //TRANSLIT//IGNORE 避免沒有對應碼時就中止輸出的問題。

 $word=iconv(‘big5′,’gb2312’,$word);  這樣遇到缺碼就自動停止輸出

  $word=iconv(‘big5′,’gb2312//IGNORE’,$word); 遇到缺碼就保持原輸入碼

  $word=iconv(‘big5′,’gb2312//TRANSLIT’,$word); 遇到缺碼就用替代字(如果有的話)

$word=iconv(‘big5′,’gb2312//TRANSLIT//IGNORE’,$word); 這個最終極,遇到缺碼就用替代字(如果有的話),沒有替代字就保持原輸入碼