最近看到論壇裡一些人專門問到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 下來就發測試信試試吧.