歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux綜合 >> Linux資訊 >> Linux業界 >> 用Qmail構建電子郵件系統

用Qmail構建電子郵件系統

日期:2017/2/27 11:12:33   编辑:Linux業界

基於Windows NT 的Exchange Server並不是企業級電子郵件系統的最佳選擇。由於對穩定性等性能要求非常高,因此大型電子郵件系統一般都使用UNIX作為服務器的操作系統,例如,Hotmail使用FreeBSD和Solaris,國內163等站點也是采用BSD系列。追求穩定的大型企業可采用FreeBSD和Solaris,普通中小企業可采用Linux。

  傳統的UNIX系統下的電子郵件系統由於設計所能承受的用戶數有限,其系統結構存在一定的缺陷,難以承受大用戶量的訪問。比如,應用非常廣泛的Sendmail系統就存在如下幾個局限性:

  * 由於其用戶信息存放於/etc/passwd文件中,在大用戶量的情況下認證效率將會大大降低;

  * 郵件存放通常在/var/mail目錄下面,每個人的郵件是一個文件,用戶數多則郵件文件就多。而在UNIX系統中,同一級目錄中的文件超過一定數量後,文件系統運轉效率將會大大降低。當使用NFS共享存儲空間的時候,還會產生一個嚴重的問題——由於NFS缺乏文件鎖定機制,在使用傳統的用戶郵件存儲格式Mailbox時,由於所有的郵件都保存在同一個文件中,因此進行郵件操作就必須加鎖,以保證沒有訪問沖突,這就使得它不適合NFS存儲方式;

  * 由於每一個用戶的多封郵件都位於同一個文件中,所以如果在用戶取信過程中出現網絡異常,則很容易引起郵箱的死鎖。

  上述問題大大限制了Sendmail郵件系統在用戶數量較大情況下的應用。另外,如果完全以系統用戶做為郵件系統的用戶也存在嚴重的安全隱患。因此,如果要適應大容量的需要,必須從郵件系統體系結構上,特別是郵件存貯方式和用戶認證方式上進行改進,使之在大用戶量的情況下仍舊能夠保持良好的性能。

  Qmail是可以完全替代Sendmail-binmail體系的新一代UNIX郵件系統,它也是一個基於UNIX操作系統的Internet郵件傳輸機構( Internet Mail Transfer Agent 簡稱MTA)。它采用標准的簡單郵件傳輸協議(Simple Mail Transfer Protocol 簡稱SMTP)與Internet上其他MTA交換信息。為了解決用戶郵件存儲問題,Qmail提出了Maildir存儲方式,每個郵件作為單獨的一個文件保存在用戶個人的郵件目錄下,這就避免了加鎖。同時,Qmail支持虛擬域(Virtual Domain)和虛擬用戶(Virtual User),使郵件系統的用戶獨立於UNIX系統用戶。與Sendmail相比,Qmail有以下優點:

  *安全---- Qmail將E-mail處理過程分為多個分過程,盡量避免以Root用戶身份運行。同時Qmail也禁止對特權用戶(Root、Deamon等)直接發信。

  *可靠---- Qmail的直接投遞保證了E-mail在投遞過程中不會丟失。Qmail同時支持新的更可靠的信箱格式——Maildir,保證系統在突然崩潰情況下不至破壞整個信箱。

  * 高效----運行在奔騰的BSD上,Qmail每天可以輕松地投遞20萬封電子郵件。

  *簡單---- Qmail 要比其他的Internet Mail系統小得多。 它通過統一的向前機制完成Forwarding、Alias和Maillist等功能, Qmail使用簡單高效隊列來處理投遞。Qmail-SMTPD可以由Inetd啟動,節省了一定資源。

  當前在國內最流行的免費電子郵件系統如163、371等,都是使用網易公司開發的系統。這些系統就是采用Qmail作為基本服務器軟件,采用NFS網絡文件系統作為用戶郵件存儲空間,使用Maildir作為郵件存儲格式,提供多級目錄以支持較大的用戶數。

  與Internet上的免費電子郵件系統相比,大中型企業電子郵件系統用戶主要為企業內部用戶,雖然數量沒有上十萬、百萬那麼多,用戶群也相對固定,但對系統的安全性、穩定性的要求更高,用戶管理工作也更細致、繁瑣。如果能采用統一的Web 形式建立完善的用戶數據庫並提供郵件服務和用戶管理,則會在方便用戶的同時,大大地減輕系統管理員繁瑣的工作。

  Qmail是GNU下的一個著名的自由軟件,世界各地的高手們為進一步完善和擴充它的功能,開發了大量的基於Qmail的工具和補丁軟件,VmailMgr(Virtual Mail ManaGeR)就是其中之一。它增強了Qmail虛擬域(Virtual Domain)的功能,提供了大量的命令,以方便建立和管理獨立於UNIX系統用戶的郵件系統用戶,提供軟、硬空間限額等豐富的管理功能;郵件服務器的虛擬用戶也可以通過POP3、IMAP標准協議訪問自己的郵箱。特別值得一提的是,VmailMgr還提供一組CGI程序和PHP函數,有了這組程序,用戶們可以通過Web頁面進行郵箱申請、密碼更換,郵件管理員也可以通過Web頁面輕松完成用戶管理和郵件系統的配置工作。

  一個優秀的大型企業電子郵件系統應該具備以下功能:

  1. 為企業內部用戶提供大規模高速安全可靠的郵件服務,用戶數量可達數千至數萬人。

  2. 郵件系統支持各種E-mail的標准協議,提供POP3和IMAP郵件訪問方式。

  3. 提供WebMail的功能,用戶只需要一個浏覽器,便能完成所有郵件的操作。

  4.為每個用戶提供20MB或更大的大容量郵件存儲空間。

  5.為用戶提供Mailing List、郵件轉寄、別名等功能。

  6. 建立用戶數據庫系統,保存用戶注冊時的個人信息,方便用戶管理。

  7. 為日常維護人員提供完全基於浏覽器的日常管理和監測工具,支持遠程管理。

  該系統對硬件要求不高,可采用性能價格比較高的PC型服務器。具體配置根據用戶數量而定,如果用戶數量較少,單台普通的PC服務器配以稍大一些的SISC硬盤就能滿足要求;如果用戶數量較大,則需要較大內存(最好配到256MB以上),相應外存要求也較高,可配100GB以上的RAID系統或采用專用的NFS服務器,以適應大量用戶大容量郵件存儲的要求。

  軟件可以全部使用開放源代碼的自由軟件,功能全面,可根據需要靈活配置。為追求穩定,在大型企業應用中可采用Freebsd替換Linux,具體配置見表1。

表1 序號
類別
名稱
版本
下載地址

1
操作系統
Linux
Blue Point 1.0
www.openunix.net

2
郵件系統
qmail
1.03
www.qmail.org

3
 
Vmailmgr
0.96
www.Vmailmgr.org

4
 
Courier IMAP
0.32
www.inter7.com/courierimap/

5
Web服務器
Apache
1.3.12
www.apache.org

6
 
PHP 3
3.0.12
www.php.org

7
數據庫系統
MySQL
3.22.3.0
www.mysql.org

  這樣的一套系統具有很高的性能價格比,突破了以往郵件系統依賴於昂貴硬件設備的限制,從高端服務器到低端服務器均可以適應,易於管理和使用,提供高性能的大容量郵件服務。尤其是軟件全部使用開放源代碼的自由軟件,使我們能夠自由下載和傳播這些軟件的源代碼。與一般商業軟件相比,這些自由軟件在可靠性、安全性及穩定性上有明顯優勢。它們大多數具備良好的定制功能,使用者能夠完全按照自己的需求來定制軟件。除了能節約購買商業軟件的巨大開銷外,開放源代碼使得軟件在版權方面比私有軟件具有更大的靈活性,也給我們安裝軟件以更大的自由度。目前有幾百種成熟的開放源代碼產品正被廣泛使用,有一些產品的性能大大超過了同類的商業軟件。




Copyright © Linux教程網 All Rights Reserved