現在網絡中流行的電子郵件系統主要有microsoft exchange、lotus notes、imail等等。windows作業系統應用廣泛,但是卻漏洞也多。如何建立一個價廉而又安全的郵件服務平台呢。下面我們以 linux+qmail郵件系統組合為例,建立一個linux平台的郵件系統。
linux作業系統是開放的多使用者多任務作業系統,能完成幾乎所有的windows作業系統功能。linux可以采用字元界面模式運作服務,與 windows華麗的圖形界面比較起來,可以節約大量的系統資源用于服務,進而降低了對硬體的要求。下面我們要用到的linux和qmail都是共享免費 軟體,可以從網際網路上任意下載下傳。
qmail是linux平台下一個子產品化設計的郵件系統,每一個子功能都是由一個運作程式來實作。qmail隻是一個mta(mail transport agent,郵件傳輸代理),其他的功能如虛拟域名管理、資料庫支援、webmail等等,都需要其他程式來配合完成。qmail的安全性非常高,網上很 多知名的郵件服務上如hotmail、yahoo,等都是采用其作為其郵件平台的核心。
安裝準備
1.擁有一台網絡伺服器
qmail的設計目标是在一台奔騰機器上最終達到每天可以投遞大約百萬級數目的郵件,一般實際應用中,我們可以選用中低檔次的伺服器(1~2塊 800mhz的cpu、1gb左右的記憶體、70gb左右的scsi硬碟)就可以輕松滿足百萬使用者數、千萬次的郵件投遞需求。這樣的性能對于大型的機關企業 甚至一個小型的網絡營運商都足夠了。
qmail對于網絡鍊路的要求也很低,一條普通的adsl專線就可以達到專業應用。qmail的郵件隊列管理非常完善,而且采用了maildir的郵 件儲存格式,在傳遞過程若發生網絡中斷、甚至在寫入磁盤過程中伺服器突然掉電,也不會出現郵件丢失或者損壞的情況,保障了使用者資料的安全和完整性。
2.安裝linux伺服器版作業系統
我們選用的是redhat9,或者可以用伺服器專用的最新版本redhat enterprise linux advance server 3.0 版本。
redhat9有非常漂亮的系統安裝界面,需要注意的是我們以後要用到幾個子產品必須在安裝的時候選擇進去:apache、sql/" target="_blank" class="keylink">mysql、 php、sql/" target="_blank" class="keylink">mysql—devel,其他用不上的服務和協定一律不安裝。為了達到伺服器最佳性能,我們隻運作作業系統的字元 界面,是以兩種圖形界面也不需要了。一般我們安裝完作業系統後,調試應用程式都是通過網絡遠端進行的,我們需要添加兩個服務:vsftpd和vnc。
3.下載下傳qmail及其安裝檔案
我們需要用到的程式或者代碼大緻包括以下幾類:
(1)作業系統更新檔,用來完善和更新系統相關協定。
(2)qmail、vpopmail主程式及其相關更新檔案。
(3)web郵件收發系統:igenus或者sqwebmail,兩者任選一種。
(4)背景管理程式:包括qmailadmin、郵件清單、賬号申請程式等。
安裝調試與配置
這裡我們隻介紹大緻的安裝過程,着重講述的是每個子產品的功能和原理,實際具體的安裝步驟請參考安裝文檔。
1.qmail及vpopmail安裝
我們将要建立的是可以滿足百萬使用者數的專業級郵件系統,同時也要滿足不同使用者組也就是多個虛拟域使用,是以我們需要用資料庫來管理所有的虛拟域和郵件使用者。
首先安裝qmail1.03版本及其相關更新檔,運用tar指令解壓縮程式源代碼,make setup編譯安裝,輸入配置系統的預設虛拟如mail.xiangshan.com。由于linux系統自帶有一個郵件系統sendmail,它和 qmail一樣是一個mta,是以在這裡要讓它停止服務(如圖1)。
接着安裝vpopmail程式,它的作用是将qmail和mysql資料庫完美地結合起來,今後隻要操作mysql資料庫就可以全面管理qmail的使用者和資訊了。安裝成功以後,就可以利用vpopmail程式的各種指令來建立虛拟域、使用者名和密碼、使用者郵箱的大小等等。
這樣,郵件系統的核心已經安裝完成,我們已經可以通過outlook、foxmail等郵件用戶端軟體來收發虛拟域的郵件。
2.web頁面收發系統
我們采用的web mail系統是igenus(如圖2),igenus 不是一套獨立的郵件系統,隻是一個 webmail 接口,需要配合qmail+vpopmail+mysql 使用。igenus采用直接對qmail的maildir 進行讀寫操作,因而比 imap/pop 方式更快一點。而且,這種方式也保證了在作業系統掉電或者突然崩潰的情況下,不至于破壞整個信箱。結合mysql資料庫,igenus還提供了目前流行的 網絡硬碟存儲、部門會議通知、日程安排等實用功能。
3.輔助管理維護系統
對于網絡管理者來說,還需要對使用者郵件虛拟域以及整個郵件伺服器運作狀況的管理功能,比如:使用者賬号申請、賬号維護、建立新的虛拟域、限制郵件數量和磁盤配額、檢視某個虛拟域的收發流量等等。
(1)安裝qmailadmin:可以完成對某個虛拟域中郵件賬号的添加/删除和密碼維護工作,也可以對某個賬戶進行停用啟動以及轉發郵件機器人郵件清單等設定。
(2)安裝igenus admin:這是一個基于web的虛拟域管理程式,可以完成虛拟域的建立定義維護和使用者賬号的維護,功能要比qmailadmin強大。
(3)安裝isoqlog:isoqlog是一個qmail日志分析工具(如圖3),可以分析和統計qmail的運作日志,将誨澀難懂的日志轉換成便于我們閱讀和能夠了解的報告,并生成漂亮的html格式的報表,管理者就可以通過浏覽器來檢視這些報表。
(4)安裝qmailmrtg:多路由器通信螢幕(mrtg)是在網絡鍊路上監控通信負載的一件工具,mrtg 産生包含圖表的html網頁,它可以将系統中的通信情況實時顯示在頁面上(如圖4)。
随着使用者的增加,郵箱使用者和虛拟域使用者将會越來越龐大,管理者可以利用igenus建立和管理每個虛拟域的資料,然後将每個域的postmaster 賬号密碼告訴域管理者,讓其通過qmailadmin來建立和維護自己的每個使用者信箱。同時,利用isoqlog和qmailmrtg分别觀察各個域及其 使用者的使用狀況,以及整個伺服器的運作狀況,分析系統的各種運作參數來判斷系統故障和潛在問題,最大限度保障郵件服務長時間高效運作。
後續開發和應用
垃圾郵件(spam)和郵件病毒是絕大多數網絡管理者和郵箱使用者最為關心的問題,spamassassin是一款高效實用的反垃圾郵件程式,用它幾乎可以抵擋網絡上95%的垃圾資訊,而郵件伺服器的效率卻沒有明顯的降低。
病毒是除了垃圾郵件以外最讓人頭痛的郵件問題。clamav是unix平台下免費的電子郵件防毒軟體,提供線上及時更新病毒碼的服務。clamav 目前可以偵測超過40,000 種病毒、蠕蟲、木馬程式,并且随時更新資料庫,在極短的時間内,網際網路上采用clamav的郵件伺服器就完成最新的防護動作。
qmail系統從頭到尾都是一個開源系統,您可以在詳細了解系統源代碼後自己寫這一部分的代碼,進而讓郵件系統更加個性化和專業化。
特别說明:尊重作者的勞動成果,轉載請注明出處哦~~~http://blog.yemou.net/article/query/info/tytfjhfascvhzxcyt290