歡迎您光臨本站 註冊首頁

maildrop的基本用法

←手機掃碼閱讀     火星人 @ 2014-03-09 , reply:0
轉帖*


最近看到論壇里一些人專門問到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為虛擬域,wangxu@wangxu.com為其中一個用戶.下面就對wangxu@wangxu.com所收到的郵件進行一些過濾規則.
進入用戶的郵件目錄
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:test@test.com
##Folder:*收信人拒收您的郵件
##From:
##PlainString
##Name:過濾發件人包含test@test.com的信件


if ((/^FROM:.*test@test.com/))
{
echo "收信人拒收您的郵件"
EXITCODE=77
exit
}


##Op:contains
##Header:FROM
##Value:test@test.com
##Folder:.Trash
##From:
##PlainString
##Name:將發件人包含test@test.com的信件保存在垃圾箱


if ((/^FROM:.*test@test.com/))
{
to "./Maildir/.Trash/."
}


to "./Maildir/."



其中##後面的都為註釋部分,可以不去管它.
if ((/^FROM:.*test@test.com/))
{
echo "收信人拒收您的郵件"
EXITCODE=77
exit
}
這一段表示發信人地址中包含test@test.com的就拒絕接受,並回複發信人一封拒收信件,內容說明原因"收信人拒收您的郵件".其中的EXITCODE=77不加也可以(過濾整個域的信件也可以這樣用,大家自己想想)

if ((/^FROM:.*test@test.com/))
{
to "./Maildir/.Trash/."
}
這一段表示發信人地址包含test@test.com的就自動轉移到垃圾箱.

注意一句to "./Maildir/."
它表示當不符合上面所提到的過濾規則時的郵件就正常的發到wangxu@wangxu.com的信箱里.
這句一定要有,不然會收不到信的.

同時也要注意.mailfilter的屬性和.qmail是一樣的

chmod 600 .mailfilter

chown vpopmail:vchkpw .mailfilter

下來就發測試信試試吧.

這只是maildrop的一點基本的用法.比較完整的用法大家可以去這裡
http://www.flounder.net/~mrsam/maildrop/maildropfilter.html


[火星人 ] maildrop的基本用法已經有599次圍觀

http://coctec.com/docs/linux/show-post-57459.html