Linux中利用Procmail來反擊垃圾郵件
無用的電子郵件通常會影響我們的網(wǎng)絡(luò)生活。在Linux操作系統(tǒng)下標(biāo)準(zhǔn)的電子郵件配置方案就是Sendmail 和 POP郵件服務(wù)器。很多使用Linux的朋友都在自己的Linux平臺中安裝了Sendmail和POP郵件服務(wù)器來接收和發(fā)送電子郵件。但是,Sendmail和POP郵件服務(wù)器只是作為Linux下發(fā)送電子郵件的工具,它們無法對付各式更樣的垃圾郵件。在Windows平臺中過慮垃圾電子郵件的軟件和工具非常多,大多數(shù)軟件采取的是過慮郵件主題和郵件名稱等方式來判斷一封電子郵件是否是垃圾郵件。不過,這樣的做法是不能完全的過慮掉所有的垃圾郵件的,因為發(fā)垃圾郵件的無聊者早就考慮到了這一點,他們可以把郵件的主題寫的和普通郵件相似,或者采用匿名郵件發(fā)送,這樣就很輕易的欺騙了過慮垃圾郵件的工具軟件。
在Linux操作系統(tǒng)中,過慮垃圾郵件我們需要很好的配置procmail這個程序,讓它盡可能的過慮掉我們不需要的郵件。無論您在Linux中使用的是MTA (郵件傳輸代理,aka Sendmail) 還是 MUA(郵件用戶代理, aka Netscape Mail),使用procmail這個程序一樣可以過慮掉垃圾電子郵件。Procmail無需額外的下載安裝,在您安裝Linux系統(tǒng)的時候就可以默認(rèn)安裝Procmail了,Procmail是一個可以自定義的強(qiáng)大的過慮工具。系統(tǒng)管理員可以通過在客戶端或者服務(wù)器端配置Procmail來對付惱人的垃圾郵件。
舉例說明,如果你想過慮掉來自比爾·蓋茨微軟公司bgates@microsoft.com所有郵件,那么通過配置Procmail可以使得來自bgates@microsoft.com的郵件直接被送到Linux系統(tǒng)中的/dev/null目錄里。具體的配置可以參考如下:
所有的procmail過濾器都保存在一個叫做procmailrc 的文件里。procmailrc 就保存在 /etc 目錄中,或者在$HOME/.procmailrc 也能找到該文件。用戶只要重新定義修改procmailrc文件就能使得procmail起作用,$HOME 對用戶來說是一個HOME目錄中的變量。典型的procmailrc文件里通常有下面的參數(shù):
對編程熟悉的朋友一看就知道這個文件的參數(shù)和變量是可以根據(jù)需要而改動的。其中ORGMAIL變量是設(shè)定郵件目錄在系統(tǒng)中全局變量的。以上的清單表明ORGMAIL已經(jīng)把用戶登陸目錄指定為 /var/spool/mail/,$LOGNAME 就是用戶的登陸名。MAILDIR 一看就知道是指定了當(dāng)前procmail使用和執(zhí)行的目錄所在。上面的清單說明了MAILDIR是ROOT用戶的HOME目錄。
前面已經(jīng)說過了,procmail是一個強(qiáng)大的反垃圾郵件的程序。只要修改它其中參數(shù)它就會起相應(yīng)的作用。如果我們不像把所有從bgates@microsoft.com 來的郵件直接送到/dev/null目錄中,我們像把這些郵件留下來有時間來仔細(xì)分析是否它們都是垃圾郵件,那么我們可以進(jìn)行以下的配置:
這樣,從bgates@microsoft.com 發(fā)過來的電子郵件就會被保存到一個叫做antitrust的目錄中,當(dāng)然,那必須要通過修改MAILDIR變量才能生效。為了使得從bgates@microsoft.com 發(fā)過來的電子郵件被Linux系統(tǒng)保存的更好,我們還可以進(jìn)一步進(jìn)行修改,例如:
這樣,antitrust就不必使用$HOME/mail目錄,安全系數(shù)就要比原來的修改方式要高一些。您想過慮的垃圾郵件和您的正常郵件就不會放在同樣的一個目錄中了。如果把要過慮的垃圾電子郵件和有用的郵件都放在/ROOT目錄中是不夠安全的。
以上只是介紹了過慮發(fā)郵件地址的方法,現(xiàn)在我們還可以把過慮地址和過慮主題等多種方式結(jié)合起來使用,那樣過慮垃圾電子郵件的效果會更好一些,下面就是多種方法結(jié)合過慮垃圾郵件的方法:
從上面的清單可以看出,我們這次不但可以過慮掉來自bgates@microsoft.com 的電子郵件,而且只要電子郵件中帶有“competition”字樣的主題郵件也被過慮掉了。當(dāng)然,根據(jù)實際需要,用戶可以設(shè)定過慮的電子郵件的主題,不僅僅限制與competition這個單詞。符合以上條件的電子郵件把被送入mail/antitrust 這個指定的區(qū)域。有時候我們需要轉(zhuǎn)發(fā)某些電子郵件,這時候我們也可以通過以下配置來完成:
從以上清單可以知道,來自bgates@microsoft.com并且?guī)в?competition" 的電子郵件就會被Linux系統(tǒng)轉(zhuǎn)寄到j(luò)usticedept@us.gov,然后這些郵件也被送到mail/antitrust中。還有以下這樣的配置也非常實用:
***行參數(shù)很好理解,第二行則是把來自sexcity的郵件送到/dev/null中。從上面那么多個配置清單中我們可以看到要配置procmail不是一件困難的事情,但是您還是要注意,如果您在配置procmail的時候出了錯,那么您可能會破壞掉整個系統(tǒng)中的電子郵件配置,配置好procmail后不要忘記對系統(tǒng)進(jìn)行測試。
***要提醒大家的是,procmail盡管是一個強(qiáng)大的反垃圾郵件的程序,但是我們也要遵循Sendmail的基本原則,不能隨便修改procmail的參數(shù),不然您的Linux發(fā)送郵件的系統(tǒng)可能不能正常工作,如果您在配置反垃圾郵件方面遇到了問題,請到Sendmail的主頁上查看FAQ,那里有許多解決此類問題的辦法。
【編輯推薦】