自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Sendmail Qmail Postfix 大比拼

運(yùn)維 系統(tǒng)運(yùn)維
sendmail是最早、最古老的MTA之一,比起后起之秀來說Qmail和Postfix來說,sendmail到底有哪些長處和不足呢?本文主要介紹的是sendmail、Qmail、Postfix的比較。從他們的歷史、技術(shù)、等方面來分析。

一、MTAs的發(fā)展歷史

  Sendmail

  毫無疑問,sendmail是最古老的MTA之一。它比qmail和postfix要古老得多。最早它誕生的時(shí)候,Internet還沒有被標(biāo)準(zhǔn)化,當(dāng)時(shí)主機(jī)之間使用的是UUCP技術(shù)來交換郵件。

  它被設(shè)計(jì)得比較靈活,便于配置和運(yùn)行于各種類型的機(jī)器。

  Qmail

  qmail 是新生一代的MTA代表,它以速度快、體積小、易配置安裝等特性而著稱。作者D. J. Bernstein(djb)是一個數(shù)學(xué)教授,富有傳奇色彩。djb于1995年開發(fā)qmail,1996年發(fā)布0.70版,并使用了多種當(dāng)時(shí)比較先進(jìn)的技術(shù),包括Maildir,與sendmail單個binary不同的模塊化設(shè)計(jì),權(quán)限分離,以及使用了大量由djb編寫的配套工具,如 daemontools,ucsip-tcp等。

  qmail迅速成為了Internet上最有名的MTA,使用者眾。

  Postfix

  Postfix作者是Wietse Venema,一名著名的安全專家。最早postfix起源于1996年,當(dāng)時(shí)venema 在美國IBM研究中心負(fù)責(zé)研究更安全的郵件系統(tǒng),當(dāng)時(shí)稱為Vmailer。后因?yàn)樯虡?biāo)問題于1998年11月正式更名為Postfix

  Postfix 以替代sendmail為目的,并提供了一個更安全、更高性能的靈活的體系。它同樣也采用模塊化設(shè)計(jì),使用了大量優(yōu)秀的技術(shù),以達(dá)到安全的目的。由于作者的設(shè)計(jì)理念獨(dú)到,經(jīng)過7,8年時(shí)間,Postfix現(xiàn)今已發(fā)展成為功能非常豐富,擴(kuò)展性和安全性強(qiáng)的優(yōu)秀MTA。

二、概括的比較

  以下的分析主要基于我在CASA上發(fā)的一個小文章,對sendmail/qmail/postfix做了一個概括性的比較。

  sendmail

  sendmai功能非常強(qiáng)大,很多先進(jìn)功能在sendmail上都最先有實(shí)現(xiàn)。sendmail里的Milter技術(shù)是一個非常好的框架,目前postfix及qmail仍然沒有官方發(fā)布的方案比milter要好。

  但 sendmail也有典型的歷史問題,只有一個binary程序,需要sid權(quán)限,m4配置文件復(fù)雜難懂。這些是是阻礙sendmail更好發(fā)展的一些客觀問題??陀^來說,調(diào)教得好的sendmail,其性能也是相當(dāng)不俗的,據(jù)一個國外的Unix雜志稱,在solaris+內(nèi)存文件系統(tǒng)+帶電池的raid 系統(tǒng)下,sendmail能達(dá)到驚人的287封/秒的注入速度!

  目前sendmail比較適合那些老用戶,因?yàn)樗麄兞?xí)慣了sendmail的應(yīng)用環(huán)境和配置。

  qmail

  qmail 體積非常小巧,source的gz包大概只有260多K,是三大MTA中最小的!模塊化設(shè)計(jì),避免了sid問題,基本功能齊全。配置相對sendmail 而言,簡單了很多,而且用戶非常廣泛。而且補(bǔ)丁和插件非常多,例如著名的vpopmail,netqmail,以及qmail-ldap等。

  但qmail有幾個問題,一是djb已經(jīng)5,6年沒有繼續(xù)開發(fā)了,補(bǔ)丁的良莠不齊及版本依賴是非常麻煩的事,這對初學(xué)者極為不利。二是功能擴(kuò)充需要補(bǔ)丁來完成,擴(kuò)展能力不足。

  總體上qmail依然是個非常不錯的選擇。對于希望了解mta原理,或希望修改mta代碼的愛好者,qmail是值得推薦的。對于需要建立中小型郵件系統(tǒng)的用戶也同樣適合。而對于需要豐富功能卻不想面對補(bǔ)丁困難,或者需要建立大型的系統(tǒng),qmail不太合適,需要更豐富的經(jīng)驗(yàn)和技術(shù)。

  postfix

  postfix 如今已經(jīng)獨(dú)樹一幟,流水線、模塊化的設(shè)計(jì),兼顧了效率和功能。靈活的配置和擴(kuò)展,使得配置postfix變得富有趣味。其主要的特點(diǎn)是速度快、穩(wěn)定,而且配置/功能非常強(qiáng)大,并和sendmail類似,提供了與外部程序?qū)拥腁PI/protocol。尤其是配置部分,可以說是一掃qmail和 sendmail的各自缺點(diǎn)。

  但postfix管理及配置的入門依然需要一定的工夫,必須仔細(xì)閱讀官方文檔。postfix另一個優(yōu)勢是至今依然保持活躍的開發(fā)工作,而且穩(wěn)步發(fā)展,適合高流量大負(fù)載的系統(tǒng),擴(kuò)充能力較強(qiáng)。

三、大規(guī)模應(yīng)用例子

  國內(nèi)若干個大型email ISP(如163.net/tom.com/163.com及sohu等)過去都使用qmail,后來全部更換成postfix。

  新浪使用qmail,yahoo使用qmail。但這些已經(jīng)不是普通的qmail了。

四、技術(shù)層面的分析

  這里僅探討一些典型的技術(shù)特點(diǎn),從這些特點(diǎn)可以看出每個MTA設(shè)計(jì)的異同,主要討論的焦點(diǎn)是qmail和postfix。

  磁盤I/O

  從隊(duì)列文件的讀寫來看,qmail處理每一封郵件時(shí),都至少需要建立3個文件,mess, intd, info等。而Postfix使用的是單隊(duì)列文件設(shè)計(jì),因此磁盤I/O的開銷要比qmail小得多,如果僅僅從這個方面考慮,postfix的隊(duì)列是 qmail的2-4倍那么快。

  從我過去的一個qmail vs postfix對比測試中,也可以發(fā)現(xiàn)這個問題。

  數(shù)據(jù)同步

  如果從MTA對待操作系統(tǒng)的文件是否安全寫入磁盤的策略來看,qmail和postfix也是不同的。Postfix使用的是隨機(jī)寫,并且需要寫入完成并安全同步到磁盤后才算完成。而qmail的寫入則是即刻執(zhí)行的,因此它將等待數(shù)據(jù)安全寫入磁盤后才返回。對于高流量的系統(tǒng)而言,這將導(dǎo)致性能問題。

  此外,Postfix的隊(duì)列對于FreeBSD的softupdate是安全的,而qmail則是不安全的,qmail作者明確警告用戶不要使用softupdate,除非是有磁盤后寫電池。

  擴(kuò)充能力

  sendmail有著非常好的擴(kuò)充能力,支持眾多的特性,功能可謂豪華。包括頻率控制到集群支持應(yīng)有盡有。而milter API則更加使sendmail的靈活性發(fā)揮至極,通過milter,用戶可以對郵件幾乎所有的參數(shù)進(jìn)行控制!但是在存儲方面,由于只支持mbox,會有一定的問題。

  qmail在系統(tǒng)容量擴(kuò)展上有著獨(dú)到的設(shè)計(jì),配合qmail-ldap補(bǔ)丁,可以充分利用qmqp及分布存儲的優(yōu)勢。現(xiàn)今已有各式各樣的qmail擴(kuò)展方案,最著名的是qmail-ldap。但qmail缺乏類似milter的設(shè)計(jì),功能擴(kuò)展需要各種補(bǔ)丁,而補(bǔ)丁的設(shè)計(jì)水平參差不齊,配置能力有限。實(shí)施起來相對是最復(fù)雜的。

  Postfix 同樣有著非常好的容量擴(kuò)充能力,利用LMTP或transport的/alias的方法,可以分布式的存儲郵件,擴(kuò)充容量。同時(shí)postfix的功能擴(kuò)展也非常強(qiáng),通過靈活的配置即可實(shí)現(xiàn)復(fù)雜的功能,這是其最突出的優(yōu)點(diǎn)之一,是qmail望塵莫及的。此外,類似sendmail的 milter,postfix擁有content_filter和policy 兩個與外部程序/應(yīng)用對接的接口,但不如milter那樣功能集中和靈活,也沒有完整實(shí)現(xiàn)qmail的qmqp及類似qmail-ldap的機(jī)制。

  可配置性

  sendmail 使用m4語法,單一的主配置文件(sendmail.cf)是三個mta中最難使用的,但是如果熟悉使用的話卻能實(shí)現(xiàn)復(fù)雜的功能。

  qmail使用的是大量小配置文本,格式最簡單,每個配置一個文件,存放在/var/qmail/control目錄里。

  postfix也使用單一的主配置文件(main.cf),同時(shí)還有對應(yīng)master主服務(wù)進(jìn)程的配置文件master.cf,但使用的是簡明易懂的key = value 格式。

  總體而言,qmail的配置文件較易管理(格式最簡單)但配置文件多(10個以上),而postfix的格式簡單只有2個配置文件,并配備強(qiáng)大的postconf工具,sendmail的配置文件最復(fù)雜。

  數(shù)據(jù)庫支持

  sendmail通過一些插件/補(bǔ)丁,可以支持mysql/pgsql/oracle等,ldap及小型的dbm/cdb等數(shù)據(jù)存儲格式。

  qmail默認(rèn)只支持cdb,需通過補(bǔ)丁才可支持ldap,mysql,pgsql及oracle等。

  postfix可以支持的數(shù)據(jù)庫應(yīng)該是最多的,默認(rèn)就包括了mysql/pgsql/ldap及dbm/cdb和cidr/nis*/btree等一堆。還支持特殊的tcp_table(僅在snapshot里支持)

  穩(wěn)定性/負(fù)載能力

  sendmail, qmail, postfix都比較穩(wěn)定。在高負(fù)載下,配置不佳或沒有打足夠補(bǔ)丁的qmail容易被DOS攻擊打跨,而postfix在遇到超過配置的限制時(shí)會降低處理能力,但系統(tǒng)依然有一定資源可用。

【編輯推薦】

  1. Sendmail配置策略
  2. Linux 下sendmail的配置
  3. Thunderbird的安裝方法
  4. Sendmail配置筆記之啟動服務(wù)器
  5. sendmail的安裝方法
  6. Postfix的配置
責(zé)任編輯:zhaolei 來源: 網(wǎng)絡(luò)轉(zhuǎn)載
相關(guān)推薦

2010-03-18 14:54:46

主流無線技術(shù)

2010-09-08 15:41:28

SIP協(xié)議棧

2014-01-07 17:08:02

Java開源框架

2017-09-10 14:29:03

眼力

2010-05-28 11:09:51

SVN功能

2021-03-15 21:07:17

IT行業(yè)薪酬薪水

2010-08-25 16:12:34

職場

2023-05-26 15:53:48

MidjourneyAI圖像

2011-11-08 10:29:44

2020-08-04 17:06:40

Merging Rebasing Git

2010-07-14 13:38:51

Perl開發(fā)工具

2013-04-22 14:21:13

WP、Android、

2009-12-01 08:47:41

2009-10-13 14:46:00

思科認(rèn)證

2019-03-29 08:25:21

JSONXML前端

2011-04-01 09:18:01

MRTGCactiZabbix

2018-10-25 14:08:07

KubernetesGoogle

2010-04-21 12:54:46

Unix內(nèi)核

2012-08-15 09:26:54

虛擬化

2019-08-27 09:00:00

敏捷開發(fā)開發(fā)方法項(xiàng)目
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號