• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

Postfix + SpamAssassin 安裝手冊

发布: 2007-7-02 21:50 | 作者: admin | 来源: | 查看: 18次 | 进入软件测试论坛讨论

领测软件测试网 Author & License
The author of this document is:

rafan@infor.org (initial version)
gslin@ccca.nctu.edu.tw (patch)
The license of this document is:

GNU Free Documentation License
Version 1.2, November 2002

參考文獻
官方網站


說明
SpamAssassin 是一套用來協助過濾 spam 的程式,用 perl 寫成,會針對信件中特定的 pattern 給予不同的分數,當分數超過指定的值後,就會被當作 spam,根據設定不同,會在信件 header 或 subject 的地方增加些東西。

這篇手冊將會教您如何讓 SpamAssassin 與 Postfix 配合,並自動在 Postfix 端把 spam 給過濾掉。

安裝
請先安裝 Postfix,請參考 PostfixInstall 的安裝說明,然後用 FreeBSD ports 將 SpamAssassin 安裝起來:

cd /usr/ports/mail/p5-Mail-SpamAssassin
make clean install clean
設定 Postfix 的部分
於 /usr/local/etc/postfix/master.cf 內修改 smtp 的設定:

smtp inet n - n - - smtpd -o content_filter=postfixfilter:
並於同一個檔案的最後面加上:

postfixfilter unix - n n - - pipe flags=Rq user=nobody
argv=/usr/local/sbin/filter.sh -f ${sender} -- ${recipient}
然後新增 /usr/local/sbin/filter.sh 這個檔案:

#!/bin/sh
exec /usr/local/bin/spamc -d 127.0.0.1 -f -p 783 -t 30 -e /usr/local/sbin/sendmail -i "$@"
接著請讓 /usr/local/sbin/filter.sh 變成可以執行:

chmod 755 /usr/local/sbin/filter.sh
設定 Postfix 過濾掉 Spam
在 /usr/local/etc/postfix/main.cf 內設定:

header_checks = pcre:/usr/local/etc/postfix/header-checks
然後新增 /usr/local/etc/postfix/header-checks 這個檔案:(如果已經有了,把這行加到最後面)

/^X-Spam-Status: Yes/ DISCARD Byebye Spam, we don@#t like you.
設定 SpamAssassin
各個詳細的設定請參考 Mail::SpamAssassin(3), Mail::SpamAssassin::Conf(3), spamd(1), spamc(1)。

將 /usr/local/etc/rc.d/spamd.sh-dist 複製一份到 /usr/local/etc/rc.d/spamd.sh:

cp /usr/local/etc/rc.d/spamd.sh-dist /usr/local/etc/rc.d/spamd.sh
再修改這個檔案裡面 spamd 的參數:

${PREFIX}/bin/spamd -a -d -L -m 32 -u nobody -V /usr/local/etc/spamassassin -x
然後新增 /usr/local/etc/spamassassin/default.prefs 這個檔案:(底下是很簡單的範例,請斟酌使用,超過 5.0 分會被當 spam,並在信件 subject 加上 *****SPAM***** 字樣)

# 超過多少分會被當 spam
required_hits 5.0

# CJK, from SpamAssassin@#s README
score HEADER_8BITS 0
score HTML_COMMENT_8BITS 0
score SUBJ_FULL_OF_8BITS 0
score UPPERCASE_25_50 0
score UPPERCASE_50_75 0
score UPPERCASE_75_100 0
ok_languages all
ok_locales all

# 一些自訂的 rule
header FOXMAIL X-Mailer =~ /FoxMail /
describe FOXMAIL Foxmail
score FOXMAIL 3.5

body UNSUBSCRIBE_ZH /取消.*訂閱\/
describe UNSUBSCRIBE_ZH Body contain unsubscribe msg in chinese
score UNSUBSCRIBE_ZH 0.5

body WINDOWOPEN /window\.open\(/i
describe WINDOWOPEN JavaScript: Windows.Open
score WINDOWOPEN 3.5
重新啟動
您需要讓 spamd 跑起來後,重新啟動 Postfix:

/usr/local/etc/rc.d/spamd.sh start
postfix reload
,

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备10010545号-5
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网