delphij's Chaos

选择chaos这个词是因为~~实在很难找到一个更合适的词来形容这儿了……

13 Nov 2006

作弊条:用SpamAssassin的FuzzyOCR插件阻止图片垃圾邮件

说明:这是一篇作弊条,应光棍节的postfix活动网友要求而撰写,因此原理等会尽可能少介绍,只讲过程。

前提:安装了amavisd-new并配置正确。
需求:阻止图片垃圾邮件。
方案:安装FuzzyOCR插件。
注意:高负载服务器请小心使用。

  1. 安装FuzzyOCR:

cd /usr/ports/mail/p5-FuzzyOcr/ && make install clean
[下载一个靠谱的操作系统确保可重现、可维护地安装应用程序]

  1. 复制需要的文件
    cp /usr/local/share/examples/FuzzyOcr/* /usr/local/etc/mail/spamassassin/

  2. 修改配置
    打开/usr/local/etc/mail/spamassassin/FuzzyOcr.cf
    找到:loadplugin FuzzyOcr FuzzyOcr.pm,删除;
    找到:focr_logfile /usr/local/etc/mail/spamassassin/FuzzyOcr.log
    改为:focr_logfile /var/log/FuzzyOcr.log
    找到:#focr_scansets $gocr -i -, $gocr -l 180 -d 2 -i -,去掉#
    找到:##### Various Score/Scan settings #####在下面写:focr_timeout 10
    找到:#focr_base_score 4去掉注释符
    找到:#focr_add_score 1去掉注释符
    找到:#focr_wrongctype_score 1.5去掉注释符
    找到:#focr_corrupt_score 5去掉注释符
    找到:#focr_autodisable_score 50去掉注释符
    找到:#focr_counts_required 2去掉注释符
    找到:#focr_gif_max_frames 5去掉注释符

打开 /usr/local/etc/mail/spamassassin/v310.pre 中最后加入:
# FuzzyOCR - performs fuzzy Optical Character Recognition on spam images
#
loadplugin FuzzyOcr FuzzyOcr.pm
loadplugin Mail::SpamAssassin::Timeout

在 /var/log 中创建FuzzyOcr.log,并赋予vscan用户写权限

重启amavisd: /usr/local/etc/rc.d/amavisd restart

tail -f /var/log/maillog确认amavisd启动正常。

  1. 测试:

sendmail your_name@example.com < /usr/local/share/doc/FuzzyOcr/samples/animated-gif.eml