以前postfix要外挂spamassass或是clamav都要透过procmail或是MailScanner.
这阵子建置新的mail server才知道postfix已经支援milter,可以直接让postfix连结有支援milter的软体.

Postifx & ClamAV via milter  (postfix的安装就不多赘言了,请参考前文)
1. cd /usr/ports/security/clamav
2. make install clean
3. 如果之前没装过clamav,应该会出现options选单,请把 [X] MILTER 这[X] MILTER 这项勾选起来.
4. 装好后在/usr/local/etc下会有clamd.conf (或clamd.conf.default, 请用cp或是mv把default去掉)
5. 修改clamd.conf
        1. + LogFile /var/log/clamav/clamd.log
        2. + PidFile /var/run/clamav/clamd.pid
        3. ! User postfix

6. 修改/usr/local/etc/rc.d/clamav-milter
        1. ! : ${clamav_milter_socket_mode="777"}
        2. ! : ${clamav_milter_socket_user="postfix"}
        3. ! : ${clamav_milter_socket_group="postfix"}
        4. clamav_milter_flags 看个人需求修改(或使用预设值),可用的flag请man clamav-milter

7. 修改/usr/local/etc/postfix/main.cf
        1. + smtpd_milters = unix:/var/run/clamav/clmilter.sock

8. 修改/etc/rc.conf
        1. + clamav_clamd_enable="YES"
        2. + clamav_freshclam_enable="YES"
        3. + clamav_milter_enable="YES"

9. 修改/etc/mail/sendmail.cf
        1. cd /etc/mail ; make
        2. 修改 {hostname}.mc
                a. + INPUT_MAIL_FILTER(`clmilter',`S=local:/var/run/clamav/clmilter.sock, F=, T=S:4m;R:4m')
                b. + define(`confINPUT_MAIL_FILTERS', `clmilter')
        3. make
        4. make install
        5. make restart

10. 启动clamd, clamav-milter, reload postfix
        1. /usr/local/etc/rc.d/clamav-clamd start
        2. /usr/local/etc/rc.d/clamav-milter start
        3. /usr/local/etc/rc.d/postfix restart

11. 大功告成(part I)

相关文章