最近看到論壇裡一些人專門問到maildrop的用法問題,而對於郵件過濾這一方面也是比較關注的。我就把我使用maildrop的一點心得寫出來。其實我也是從sqwebmail或者wmail的使用中找到的(這也是為什麼我之前回復都是讓大家裝一下wmail或sqwebmail使用一下的原因),所以只涉及到了maildrop的一點點基本用法,希望對大家有所幫助。
首先安裝maildrop,這個很簡單,先去下載http://class.868cn.com/download/maildrop-1.5.2.20030423.tar.gz
然後解壓,進入目錄裡。/configure make make install
一般就可以安裝成功。(當然之前要安裝了qmail,vpopmail)安裝成功後會在/usr/local/bin目錄下生成一個maildrop文件。就是使用它來做過濾的
我還是假使wangxu.com為虛擬域,[email protected]為其中一個用戶。下面就對[email protected]所收到的郵件進行一些過濾規則。
進入用戶的郵件目錄cd /home/vpopmail/domains/wangxu.com/wangxu
建立。qmail文件。
vi .qmail
內容為:
代碼:/usr/local/bin/maildrop ./.mailfilter
注意。qmail文件的屬性
chmod 600 .qmail
chown vpopmail:vchkpw .qmail
再建立。mailfilter文件vi .mailfilter內容為:
代碼:##Op:contains ##Header:FROM ##Value:[email protected] ##Folder:*收信人拒收您的郵件##From:##PlainString ##Name:過濾發件人包含[email protected]的信件
if ((/^FROM:。*test\@test\.com/))
{ echo “收信人拒收您的郵件”
EXITCODE=77 exit }
##Op:contains ##Header:FROM ##Value:[email protected] ##Folder:。Trash ##From:##PlainString ##Name:將發件人包含[email protected]的信件保存在垃圾箱
if ((/^FROM:。*test\@test\.com/))
{ to “。/Maildir/.Trash/.”
}
to “。/Maildir/.”
其中##後面的都為注釋部分,可以不去管它。
if ((/^FROM:。*test\@test\.com/))
{ echo “收信人拒收您的郵件”
EXITCODE=77 exit }這一段表示發信人地址中包含[email protected]的就拒絕接受,並回復發信人一封拒收信件,內容說明原因“收信人拒收您的郵件”。其中的EXITCODE=77不加也可以(過濾整個域的信件也可以這樣用,大家自己想想)
if ((/^FROM:。*test\@test\.com/))
{ to “。/Maildir/.Trash/.”
}這一段表示發信人地址包含[email protected]的就自動轉移到垃圾箱。
注意最後一句to “。/Maildir/.”
它表示當不符合上面所提到的過濾規則時的郵件就正常的發到[email protected]的信箱裡。
這句一定要有,不然會收不到信的。
同時也要注意。mailfilter的屬性和。qmail是一樣的
chmod 600 .mailfilter
chown vpopmail:vchkpw .mailfilter
下來就發測試信試試吧。
這只是maildrop的一點基本的用法。比較完整的用法大家可以去這裡http://www.flounder.net/~mrsam/maildrop/maildropfilter
這句一定要有,不然會收不到信的。
同時也要注意。mailfilter的屬性和。qmail是一樣的
chmod 600 .mailfilter
chown vpopmail:vchkpw .mailfilter
下來就發測試信試試吧。
這只是maildrop的一點基本的用法。比較完整的用法大家可以去這裡http://www.flounder.net/~mrsam/maildrop/maildropfilter