procmail 的角色已是一個功能極為強大的 MDA,並可用來過濾大多數知名的病毒。減少困擾。
小弟提供您自動更新過濾規則檔的機制。
注意:提供這個機制只希望它有用,但沒有任何擔保,使用前,
您應先進行風險評估,若有任何信件遺失且/或造成其它損害、意外,小弟不負任何責任。
做法:
如此一來,您便可自動抓取敝中心的 procmailrc 檔,並時時更新。
先決條件:
若您發現有 procmailrc 無法濾除的新病毒,可將該病毒信以另存信件的方式,然後帶檔寄至 virus@www.tnc.edu.tw,小弟會適時更新它。
放心,小弟雖不使用任何防毒軟體,但絕對不會中毒,您可大方地寄來。若能力許可,小弟每周至少會更新一次。
OLS3
ANS:
把您自己寫的過濾條件,存放在 /etc/my.procmailrc 中
記得該檔第一行一定要空白列,再接著放過濾條件
然後,修改一下 up-procmailrc.sh,sample 如下:
#! /bin/sh
if [ -f /usr/bin/wget ]; then
/usr/bin/wget -O /etc/procmailrc.my.tmp ftp://ftp.tnc.edu.tw/Sysop/MAIL/procmailrc
if [ -s /etc/procmailrc.my.tmp ]; then
#mv -f /etc/procmailrc.my.tmp /etc/procmailrc
cd /etc
cat procmailrc.my.tmp myprocmailrc > procmailrc
rm -f procmailrc.my.tmp
fi
else
echo "Hey man,I can not find any wget stuff in your box."
fi
我個人用的 myprocmailrc 列出如下,供您參考。
請注意! 這是我個人的選擇條件,使用前請確認您自己的需求。
若您要使用,請放入 /etc 目錄中:
# 拒絕由各ISP 動態 IP relay 過來的信件
:0 BH
* ^Received:.*from.*\(.*(\-|\.).*(\-|\.).*(\-|\.).*\.dynamic\..*
/dev/null
# 不要 undisclosed-recipients
:0
* ^To:.*undisclosed-recipients
/dev/null
# 拒絕由大陸流行的 FoxMail(China) 發的廣告信
:0
* ^X-Mailer:.*FoxMail
/dev/null
# 我不想接 gb2312 編碼的 email
:0 BH
* ^(From:.*=\?GB2312\?B\?|Subject:.*=\?GB2312\?B\?|Content-Type:.*text/html;charset="GB2312")
/dev/null
ANS:
> 請問收件者為undisclosed-recipients的郵件可否由伺服器端直接過濾? 可以, 以前原本就設定直接濾除, 但有些單位反映他們需要 undisclosed-recipients的郵件, 因此, 後來改成預設關掉. 若您想濾掉它有二個方法: 1. 把 ftp://ftp.tnc.edu.tw/Sysop/MAIL/procmailrc 中以下三列前的 # 去除: #:0 #* ^To:.*undisclosed-recipients.* #/dev/null 2. 或者, 請參考: http://linux.tnc.edu.tw/techdoc/use-procmail.html 該文最後有列出我個人用的額外過濾條件, 請按該文末的 FAQ1 來處理即可。 >我都設定好了,卻一樣會收到垃圾郵件。 >還是說哪個地方我疏忽了? SMTP 的協定本身就無法使任何一種方法可以百分之一百濾除垃圾郵件, 我們能夠做的是把漏網之魚降到最低。 以我個人而言,使用以下三個方法: 1. http://linux.tnc.edu.tw/techdoc/use-procmail.html 2. http://free.tnc.edu.tw/modules/news/article.php?storyid=832 3. http://www.tnc.edu.tw/edumsg/showmsg.php?msg_id=9623&from_unit=tnc 再配合 Mozilla Mail 的垃圾郵件過濾功能,我每天平均的垃圾郵件量都只有一二封而已 ,有時甚至好幾天都沒有垃圾郵件在我的收信匣中。