首頁公司簡介公司動態產品介紹客戶留言網上訂單人才招聘聯繫我們

昆山郵件服務器系統Linux解決方案

昆山郵件服務器系統Linux解決方案

産品介紹

 

昆山郵件服務器系統Linux mail解決方案詳解;Qmail

(一)                                      

qmail是目前使用最廣泛的一種,基本上各種要求的功能都會有相應的軟件配套支持。它的缺點是太散亂,缺乏集成,用項目的話來說就是不幹淨,缺乏 歸檔集成。對于大型ICP,ISP等有固定的管理人員或者不算是一個缺點,但對于一般的公司客戶,它的日常管理配置工作就顯得太誇張了。另一方面,對于大 型的高級應用,Qmail的功能和發展餘地都有所欠缺。 

 

二、 Linux mail解決方案詳解;

 

1、qmail方案;(Qmail+vpopmail+mysql+ucspi-tcp)

a)  簡述:

qmail 是目前使用最廣泛的一種,基本上各種要求的功能都會有相應的軟件配套支持。它的缺點是太散亂,缺乏集成,用項目的話來說就是不幹淨,缺乏歸檔集成。對于大 型ICP,ISP等有固定的管理人員或者不算是一個缺點,但對于一般的公司客戶,它的日常管理配置工作就顯得太誇張了。另一方面,對于大型的高級應用, Qmail的功能和發展餘地都有所欠缺。

 

Qmail是否易于配置使用,分歧頗大。實際情況是,如果要求相當簡單、單一,qmail的使 用相當簡單,網上基本上有成功的例子供你照搬,但如果要求複雜起來,象需要使用mysql或ldap,需要imap,需要smtp auth,需要虛拟域,需要web界面等等,以上任一兩個功能都不難實現,但全部要實現,就會發現實際成功的例子很少,一般是沒有。原因就在于qmail 的散亂和缺乏集成,各個軟件以qmail爲藍本打補丁,互不配合,等到必須互相配合才能形成功能時,難度便突然加大,以至成功的案例卻不算太多。事實上, 由于多個補丁來自各自截然不同的開發組團,以至于經常出現指定補丁的基礎版本不一,連編譯也過不去,程序語法出現嚴重的錯誤的并不少見。

Qmail 本身集成了pop3d,但隻提供了使用其本身的cdb存儲帳号的方法,而沒有提供使用其他的方法。其次,qmail本身不提供網絡監聽,所以所有的服務, 包括pop3d必須通過tcpserver才能啓動。這種啓動的複雜性,導緻了五花八門的輔助工具,進一步加大了使用Qmail的複雜性。

因此, 使用QMAIL很難滿足在提供smtp auth\pop3\imap的工作條件,同時不能使用系統帳号。已有的聲稱可以使用courier IMAP提供在qmail+vpopmail基礎上提供IMAP服務的的方法,許多其實作者自已都沒有弄出來,事實上,它必須修改courier IMAP的代碼。要求的額外性能,其實是新的公共協議的要求,Qmail所要求的補丁就越多,問題就越顯得複雜。

Qmail方案最大的毛病就是特 定功能的補丁太多,加上補丁自已有版本,打上幾重補丁,到底譜系繼承誰是誰非,怕是誰都說不清,加上各個補丁本身帶有版本,不同的版本相互間基本上是無效 的,複雜性也就呈級數增加。所以對Qmail系統的性能要求一高,Qmail的可用性就越差。

最根本的原因就是Qmail的作者的設計目标僅是提 供主機級的郵件服務,也就是在小組網内專用于維護的那種mail,因此,當Qmail用于更高級的互聯網通信時,立刻就不合用了;其次,Qmail奇怪的 版權模式限制了對Qmail的有效改進,其他人隻能以打補丁的模式增加功能;最後,qmail開發時就是僅爲了系統級代替sendmail而設計的,居然 連tcp監聽也沒有考慮,(換言之,作者開始很可能沒有考慮到要把mail發到主機以外),qmail要工作,必須另外一個輔助軟件ucspi-tcp提 供網絡監聽,更不用提smtp-auth了。

優點:

應用案例和參考文章都比較多;

使用時間較長,功能較全、較穩定

缺點:

文檔方面偏向于簡單的多,複雜可用的方案文檔很少(變相反映出成功的案例不多);

新的先進的标準和協議支持不夠;

缺乏堅實的系統機制支持;

架構散亂,本質上是一大堆補丁程序補出來的産物;

極度缺乏集成;

對ESMTP嚴重缺乏支持。

總結:适合中小型的簡單應用,但與sendmail相比是50步笑100步而已。建議大型應用或産品方案,堅決避免使用qmail作爲基本解決方案。

适用:a,b,c,g四種類型;

 

b)       基本功能指标;

                                                                   i.              POP3,STMP服務;

                                                                  ii.              POP3及SMTP使用同一帳号進行認證;

                                                                iii.              支持SMTP認證功能;

                                                                iv.              使用mysql存貯郵件帳号;

                                                                  v.              支持虛拟主機;

                                                                vi.              提供命令行維護工具;

                                                               vii.              提供簡易Web界面維護工具;

                                                             viii.              提供用戶自我維護工具;

                                                                 ix.              提供Webmail工具;

 

c)        需要軟件:

Qmail-1.03 MTA工具;

Vpopmail5.0 郵件域、賬号、密碼管理工具;

Mysql 存貯用戶帳号資料;

Ucspi-tcp 提供網絡監聽;

Chekpassword 提供訪問認證;

可選:

daemontools, 提供Daemon維持性能;

sqsignup, 提供用戶自行申請帳号功能,對免費Email有用;

webadmin, 提供用戶自我管理,如修改密碼功能;

passwordmd5; 支持MD5密碼;

 

重要的工具和概念——patch:

         由Larry Wall提供的diff:patch工具,被Larry Wall本人認爲較發明Perl更重要的作品。實際上patch也确實是Linux成長過程中最重要的因素之一。Diff 用于對比文件和目錄(含包含的文件)的不同,并把輸出存爲patch格式;而patch命令是diff的反向命令,使用patch可以使用文件及目錄回複 到原來的模樣。

#diff -c -r dir1 dir2 >  1.2.patch

将生成一個1.2.patch的文件;在與dir2一樣的目錄中運行

#patch < 1.2.patch

将獲得dir1一模一樣的目錄和文件。通過這一工具,可以令系統不停的升級,這也是Linux升級内核而不是重裝的重要途徑。

Patch的成功,最重要的因素是保證dir1,dir2目錄的一緻,如果兩者基礎不一緻,patch是沒有意義的。這也是目前網上補丁程序失敗的重要原因,關鍵就是版本不一緻,缺乏版本的管理。

 

d)       系統架構;

                                       i.      vpopmail

Vpopmail提供域管理,帳号管理,用戶認證,負責使用外置存貯工具存貯用戶帳号的功能實現。它不是必須的,但卻是繁雜的Qmail方案的有效簡化工具,因爲減少了補丁的使用,而提供了可靠性。類似的軟件還有vMailMgr。

                                      ii.      ucspi-tcp;

UCSPI-TCP是一個非常重要的工具,它令Qmail能在主機以外真正提供郵件服務。Qmail本身不帶網絡監聽,如果要把信發到主機以外,需要補丁軟件,一般是ucspi-tcp,也就是tcpserver命令。象命令:

 

#tcpserver  /var/qmail/bin/qmail-popup xxx.com /var/qmail/bin/auth_pop /var/qmail/bin/qmail-pop3d "Maildir" &2<1

 

如 此長長的一串,說的是tcpserver通知qmail-popup向xxx.com提供pop應聽服務,由auth_pop進行口令驗證,pop服務由 qmail-pop3d提供。理論上,也可以讓tcpserver讓其他進程也提供網絡服務。如果有其他方法提供用戶口令認證,就把auth_pop更 替,象checkpassword,vchkpw之類。啓動smtp也是如此類推。

 

                                    iii.      checkpassword;

checkpassword是必須的,但最終隻要它的一個程序,它作爲一個補丁存在,不用它,無法提供smtp auth功能,打完補丁後,又要把主要功能讓給如vpopmail的vhkpw進行。由此可見Qmail體系的混亂。

 

使 用checkpassword和相應的patch,令qmail使用系統帳号實現pop3和smtp認證;然後再使用vpopmail的vchkpw作爲 checkpassword的補丁令qmail不使用系統帳号。最後,由vchkpw完成與外置數據庫存儲的帳号的存取和認證工作。理論上可以使用其他數 據庫,包括oracle和ldap,oracle估計是可以的,但必要性不大,而vchkpw使用ldap根本上是一個失敗的項目。連作者自已也承認,這 東西動不了。

 

昆山郵件服務器系統Linux mail解決方案詳解;Qmail-(二)                                       

 

由于qmail的安裝是多個補丁的次序替補,所以順序是非常重要的。

 

安裝:

 

由于qmail的安裝是多個補丁的次序替補,所以順序是非常重要的。

首先是安裝qmail。Qmail安裝前必須生成兩個指定組nofile及qmail,以及七個用戶,分别是alias,qmailr,qmaild,qmails,qmailq,......我也忘了,看INSTALL!

#make setup check後

#./config

在 配置時需要配置默認的傳遞域和主機rcphost,(記得第一節第2點說到的主機和工作組郵件嗎?),這時Qmail會通過DNS正向和逆向查詢域名和 IP,填入配置文件中。實際上,都于打算用于因特網的使用者來說,這一步是不必要的,(你說DJB是不是閑着沒事幹?多此一舉),但少了它Qmail還幹 脆罷工。在此前,甚至連BIND8也不能滿足它的要求。如果不配的話會如何?那麽當你在客戶端發信時,就很可能得到550 error, you do not in rcphost list這樣的錯誤。要跳過去的話也可以,可以手工生成rcphost,me, defaultdomain, hostname這樣幾個文件。

不過,DJB這樣幹也是有道理,衆所周知,垃圾郵件是一大公害,如果不這樣,郵件服務器就變成 openrelay,開放傳遞,不但你的IP被列進黑名單,而且垃圾郵件會塞得你的郵件服務器不能工作。但隻有劣等管理員才不能防垃圾郵件,一個簡單有限 的辦法就是使用smtp auth。

         使用smtp auth的辦法是打checkpassword補丁。這裏要注意,有兩種方法進行補丁,但隻有一種是支持多域名的。請參考有關文檔。由于smtp auth和pop auth均由checkpassword提供,所以實現了pop和smtp使用同一密碼的功能。         必須安裝Ucspi-tcp才可以提供網絡服務,在啓動服務時指定必須使用smtp auth,及popauth。

         安裝vpopmail時注意:安裝程序會檢測vpopmail用戶,并把vpopmail安裝在vpopmail的HOME目錄。Vpopmail在安裝 時自動在數據庫中生成數據表格,但需要在安裝前在vmysql.h中指明數據庫的地址、名稱、用戶、密碼。

         Sqsighup、sqwebadmin、sqwebmail都是PHP或CGI程序,修改并不困難,其中sqwebadmin是專門配合vpopmail的mysql方案的。

 

c)        系統管理:

系統管理由三級組成:

i.   qmail命令行工具:典型如makemaildir,生成maildir的目錄;還有如qmail-ldaplookup,在使用ldap方案時是非常重要的工具。但在使用vpopmail時,這些工具被全面取代。

ii.     vpopmail命令行工具:如vadddomain,vadduser,vpasswd等,幾乎是最重要的管理工具之一。

iii.         sqsignup,sqwebmail,是用戶自我管理和webmail,除sqwebmail中的修改密碼功能,其它不是必須的。用戶也可以自已開發修改密碼的程序,不算太高。

 

d)       LDAP實現:

有 三種方法,一是直接使用qmail+ldap方案,這在lifewithqmail/ldap中有詳盡的說明,但不精确;二是使用qmail+ vpopmail+ldap方案,簡單不少,但程序有問題;三;使用Curier IMAP的LDAP功能,但這樣沒有必要,因爲Courier IMAP與Coureir MTA配合更佳,而且沒有補丁,功能齊全。

 

方法一:qmail+ldap;  

需要軟件:

 

qmail-1.03

qmail-ldap-patch

ucspi-tcp

checkpassword

qmail-ldap-control-patch

qmail-ldap-smtp-auth-patch

基本同前者,隻是ldap代替了mysql,而棄置了vpopmail。

這 套方案最關鍵的一條是使用qmail-ldap-patch。但這套補丁2000年以後的版本有很大的BUG,最基本的一條就是auth-pop.c 調用commands.c調用qldap-lookup錯誤。或者作者自已機上是可以用的,但它用于對比的版本不知是何年何月的,總之得出的patch是 狗屁不通,要用者,自已順藤摸瓜改程序吧。粗略估計一下,大約要改幾百行程序。

過了這一關,也是問題,安裝時可以改程序,總不能每次系統管理也要 程序吧?lifewithqmail/ldap建議使用qmail-ldap-control補丁,不過要使用這個補丁,又要再改一次程序,又是幾百行。 而且,這個補丁不但難打,而且打完後,象一些核心如qldap-lib.c程序,語法錯得慘不忍睹,這一關,我過不了。如此下去,就算僥幸裝上了,升級換 代也是困難,還不如我自已開發一套算了。

這樣使用LDAP上,是十分不劃算的。

                   

方法二:使用vpopmail+ldap;

                   

另一種方案是qmail+ldap+couire IMAP,該文的參考文檔http://www.cerritoslug.org/tutorials/qmail-ldap/installing.html

這種方案避免了使用tcpserver啓動pop3,從而避免了前文所述的錯誤。是唯一可行的方案。但沒有太大的價值,因爲主要的工作完全由Courier IMAP完成,Courier MTA本身就不差,沒有必要另用qmail。

 

b)       IMAP實現:

要完成courier IMAP合成qmail、vpopmail,需要修改程序代碼,但幾乎所有的中文文檔,都僅是說make,make install,所以我覺得他們就算是報成功安裝,也不可能運行的。

針對我們使用MYSQL進行認證的方案,可以配置Courier IMAP使用同一個mysql記錄表,通過定義修改字段讓它訪問vpopmail的Maildir目錄,可以較易實現coureir IMAP集成的目的。

但如前所說,既然用到Courier IMAP,就沒有必要再用Qmail自讨若吃了。

                                               

c)        TLS實現;

無法使用TLS,就算可以,無非是再加一重補丁,一個軟件要打上四五重補丁,然後digbug,叫DJB自已來幹好了。建議不必再考慮TLS。

 

d)       缺陷和開發餘地;

qmail最大的問題,就是越來越多的核心功能不是通過集成,而是通過補丁來實現,關鍵可能就在于DJB制定的版權标準不太合乎邏輯。除着技術标準的進步,這個缺陷會越來越緻命,相信,很快,整個qmail體系都會不得得被抛棄。

 

Linux mail解決方案詳解; postfix方案                                   

與qmail相比,postfix顯得規範許多,而且它與Cyrus sasl配合緊密,不象qmail那樣的亂七八糟的程序堆在一起。但postfix體系的缺點是周邊軟件不成熟,缺乏嚴格的集成測試,甚至連安裝程序都存 在低級錯誤,要修改過才行。而且,postfix大量使用一些較新的linux技術,如sasl, pam, cyrus imap,Berkeley DB等,偏偏這些技術合在一起使用的先例極少,升級版本差距太大,相互間集成不便,要把它們集成在一起形成一個整體可用的,符合要求的系統,簡直就是一場 地獄旅行。但一般說來,如果組合成功,效果優于qmail。

 

 

2、   postfix方案詳解;(postfix+cyrus sasl + mysql+cyrus IMAP);

a)      簡述:

與qmail 相比,postfix顯得規範許多,而且它與Cyrus sasl配合緊密,不象qmail那樣的亂七八糟的程序堆在一起。但postfix體系的缺點是周邊軟件不成熟,缺乏嚴格的集成測試,甚至連安裝程序都存 在低級錯誤,要修改過才行。而且,postfix大量使用一些較新的linux技術,如sasl, pam, cyrus imap,Berkeley DB等,偏偏這些技術合在一起使用的先例極少,升級版本差距太大,相互間集成不便,要把它們集成在一起形成一個整體可用的,符合要求的系統,簡直就是一場 地獄旅行。但一般說來,如果組合成功,效果優于qmail。

Postfix方案采用的方案遠較qmail規範,與linux的系統架構較qmail要密切得多,其認證的核心pam-sasl,不但是linux内核框架标準,同時也已經是UNIX網絡通訊的認證标準。

作爲MTA,postfix本身沒有什麽問題,但能夠與postfix集成提供所需功能的Cyrus軟件就有一個大毛病,各版本間沒有遵循新版本向下兼容舊版本的原則。這個會造成初學者非常困惑的結果。

優點:

     技術先進,集成度高,與系統底層機制高度集成;

缺點:

     缺乏文檔,不同曆史版本間兼容性差。   

總結:技術上較Qmail先進一代,基本解決方案具備,也較成熟,缺點是方案較單一,而配套的管理工具不多。總的來看,無論是大型還是小型應用,postfix都較qmail優秀、方便。

适用:适用所有類型。

 

與qmail不一樣,postfix缺乏充分的配套方案,象qmail本身包括了pop3甚至CDB存儲用戶信息,而postfix就什麽也沒有。因此,盡管postfix本身就MTA而言要比qmail更完善,但是作爲商業級的解決方案,仍未十分成熟。

Postfix 目前大緻兩種選擇方案可以提供IMAP服務,一種是通過Courier,另一種是通過Cyrus imap。前者沒有找到可以提供有效的smtp auth的方法,後者是通過Cyrus SASL(簡單網絡認證層)實現認證,這一認證與IMAP一同是卡内基-梅濃大學的産品,本身是完全兼容吻合的。

 

德國的Patrick Koetter先生完成的安裝文檔How to use smtp auth in combination with TLS in Postfix, (http://howto.state-of-mind.de),及Luc de Louw的Postfix-Cyrus-web-cyradm-HOWto(http://ldp.kernelnotes.de/HOWTO/postfix-Cyrus-web-cyradm-HOWTO),最值得推介。本文以此爲基礎,在需要更改的部分加以說明。

a)          概念說明:

Cyrus SASL:         (簡單網絡層認證),

由卡内基-梅濃大學開發和制定的網絡認證标準,通過标準的SASL函數庫,可以向任何調用的網絡通訊程序提供與任何LINUX上使用的認證方式一緻的認證機制。用戶可以選用适合自已的認證機制,如pam, kerbros, ldap等都是允許而且透明的。

SASL将是未來主要的認證方式之一。較qmail的checkpassword機制要先進得多。

 

PAM:(Plugin Authentication Module);

linux 社群最富有創造性的成果,令系統認證成爲一個接口标準,可以根據需要定制認證方式,或開發自已的認證方式,同時,PAM可以給任何系統應用認證調用,令系 統内權限管理達到了一個新的等級;PAM較之WINDOWS2000的SAM認證機制先進得多,而較Active Directory/Kerberos機制簡單得多。

 

Berkerley DB:

是極小的嵌入式的關系數據庫,實際上是一批關系數據庫化的散列結構,不支持SQL,常常作爲其他數據存儲方案的後台;如OPENLDAP。在本方案中要用到Cyrus-SASL 2.1,該版本必須基于Berkerley DB4.0 以上的版本支持。

 

b)         需要軟件:

postfix, Cyrus-sasl 2.1, pam-mysql, mysql,cyrus IMAP, Berkeley DB 4.0。

注意:Cyrus-sasl在redhat系統本身是默認安裝的,但在這個地方卻不能用,必須把它禦載重新安裝才可以工作,關鍵是2000端口的sieve進程能夠動作。

c)          架構:

postfix 簡單完成MTA的工作,認證工作由Cyrus SASL完成,無論是IMAP還是POP3都由Cyrus IMAP提供,帳号就放置在MYSQL中。Cyrus SASL被配置成基于PAM進行認證,而第三方程序pam_mysql是完成從mysql到PAM的認證模塊插件。這個系統遠較qmail簡潔一體,我認 爲技術含量也更高。

注意事項:

                                       i.      包括Berkerley DB和Cyrus SASL都要裝新的;

                                      ii.      Cyrus IMAP程序是基于Debian開發的,Perl的版本和位置都不一樣,必須手工修改Cyrus-imapd的源代碼目錄perl/imap子目錄中的 Makefile文件,把perl 5.6.1的目錄改到正确的位置。否則cyadmin運行時就出錯,系統無法管理了。

d)         系統管理:

可以使用Cyrus提供的Cyradm命令行工具管理系統,這一工具可以異地運行管理,非常好。也可以使用web-cyradm第三方軟件,但這個軟件寫得很臭,包括不能讓客戶自已修改密碼。建議自已修改後再用。

郵箱:可以選擇Maildir或是Maibox形式。我覺得使用Mailbox形式在提供IMAP時增加新郵箱很方便。

e)          虛拟主機:

可以直接在postfix下配置虛拟主機,在輔助的courier或cyrus中也可相應配置成多域系統。

f)          LDAP:

使用pam-ldap可以配置系統使用ldap認證取代pam_mysql;但還必須給Cyrus-imap打上LDAP補丁,才可以讀取ldap的用戶配置。補丁地址:http://www.surf.org.uk,是英國人的作品。個人應用,這比Qmail-ldap優秀。

另一種使用LDAP的方法則是跳過Cyrus SASL,直接使用LDAP認證取代PAM認證,而使用courier IMAP提供POP3和IMAP服務(Couier IMAP能夠自已識别LDAP)。這種方法的缺點是找不到好的辦法處理SMTP AUTH。

g)          TLS:

前述的兩份參考文檔分别介紹了如何配置postfix和Cyrus實現TLS。這方面,支持的相當完全的。

 

Linux mail解決方案詳解; Courier方案詳解                               

Courier 一般以IMAP服務器出名,它是純開源項目,由台灣的sourceforge.net提供代碼維護,但實際上Courier是一個完全包括了MTA、 MDA在内的郵件服務系列,比QMAIL和Postfix都全,實際上是最全的服務系列,甚至直接包括了IMAP,和郵件過濾器,這方面遠勝于qmail 和postfix,理論上應該是最合适的方案。但不知是開發者的問題還是什麽的,courier方案是我見過的文檔最糟糕的項目,也許這根本上就是一個進 行中的項目,可以從它的版号号,最新也隻有0.40看出來。也正因爲此,全套courier方案,是我三個方案中處理最艱難的一個。但對于複雜的應用,如 果過了使用關,倒是最方便的一個。

 

Courier方案詳解;(courier-mta+ couier IMAP+ mysql+mailadm);

a)         簡述;

Courier 一般以IMAP服務器出名,它是純開源項目,由台灣的sourceforge.net提供代碼維護,但實際上Courier是一個完全包括了MTA、 MDA在内的郵件服務系列,比QMAIL和Postfix都全,實際上是最全的服務系列,甚至直接包括了IMAP,和郵件過濾器,這方面遠勝于qmail 和postfix,理論上應該是最合适的方案。但不知是開發者的問題還是什麽的,courier方案是我見過的文檔最糟糕的項目,也許這根本上就是一個進 行中的項目,可以從它的版号号,最新也隻有0.40看出來。也正因爲此,全套courier方案,是我三個方案中處理最艱難的一個。但對于複雜的應用,如 果過了使用關,倒是最方便的一個。

Courier不但介紹的書極少,而且文檔虎頭蛇尾,牛頭不對馬嘴,不看文檔不知如何用,看了文檔,更是不知所 雲,常常是一大堆廢話開場白後,用者正要看它正文的說明,它卻說:全說完了!我開始時以爲postfix的文檔已經夠糟糕的,但後來才發現,與 postfix相比,是小巫見大巫。

推薦使用Courier IMAP服務器的文章很多,但介紹如何集成Courier IMAP和系統外認證的中文文章不但少,從表現出來的次序來看,作者極可能根本上沒有成功運行過(按他們說的方式是不可能成功的)。另外,考慮到我們要求 的第三點,單獨使用Courier IMAP的理由并不充足。

另外,courier IMAP的管理工具不多,遠不及cyrus IMAP的方便、直接。

Courier是一個比Postfix更新、更大、更全面的郵件項目,也更不成熟,但與Cyrus SASL沒有沖突。

                            優點:

                            高度集成,技術先進,功能全面;

                            缺點:

開發不成熟,許多模塊根本未完成開發;

                            文檔極缺乏,連管理使用文檔也沒有。

                   适用:可适用于所有類型要求。

 

b)         需要軟件:

Courier-MTA最新發布版;

Mailadm最新版(http://courier-mailadm.jgaa.com)

c)        系統框架:

Courier MTA發布包已經包含幾乎全部軟件,包括MTA,MDA,POP3和IMAP服務器,認證功能,郵件過濾,TLS連接等。并由第三方軟件包mailadm提供管理腳本。

 

Courier MTA盡管包含各個軟件,但各個軟件之間各之爲政,單獨配置,主要包括:esmtpd,pop3d,imap3d,courier courierfilter五個。啓動的時侯把各自的服務start, 如/usr/lib/courier/sbin/esmtpd start,停止的時侯stop就可以了。

d)       認證:

Courier各服務雖是獨立,但認證流程是統一的,關鍵在于 authdaemond進程,由該進程再去調度各種形式的認證流程,如authdaemond.mysql.. 在配置系統提供上述五種服務時,在各自的配置文件中配置使用authdaemond進行認證就可以完成統一認證。

流程是:

(1)    配置authdaemond.mysql,配置文件authmysqlrc, 包括數據庫位置,密碼,表名,域名等;

(2)    配置authdaemonrc使用authmysql;  (authmodulelist項);

(3)    最後配置各個服務使用authdaemond, 如配置esmtpd提供esmtp的服務(auth smtp認證服務)

e)       系統管理:

這是一個大弱點,Courier好象開發出來就不準備給别人用似的,既沒有工具也沒有文檔,有一個pl的couriermailadm,登錄成功後就一點反應也沒有,連操作菜單也找不到。

沒有命令行工具,要麽自已寫程序管理,要麽使用一個第三方的管理工具mailadm可以完成authmysql的courier的基本管理,包括虛拟主機和用戶管理。但客戶自行修改密碼的故事還不行。

f)        郵箱:隻能采用Maildir,在提供IMAP時相當不方便。

g)       注意事項:

安裝時除了最後的make install使用root外,從tar -xzxvf開始都要使用非root帳号,否則安裝雖能完成,但是卻動不了,而且再安裝也沒有用,除非能夠把程序全找出來删光,否則隻有重裝系統才能下一次了。這點非常重要。

Courier -MTA使用完全的ESMTP協議,而不是象qmail-postfix那樣在SMTP上打補丁。同時受口令認證和IP段的約束。必須編輯 esmtpaceess,esmtpacceptmaifor, locals這些文件,再生成相應的dat文件,才能真正工作。象如果在互聯網上使用,可以esmtpaccess開放relay, 

#echo 0.0.0.0 << esmtpaccess

#makeesmtpaccess

由于已經設置了esmtpd使用口令認證,也就成了通常的SMTPD AUTH的可供漫遊的服務器了。

h)       IMAP服務器;

Courier以IMAP出名,它不但可以配套Courier-MTA,而且可以配套qmail或postfix,或其他的MTA。統一認證的關鍵點有三個:mysql,vchkpw,authmysql.

 

i)         LDAP和虛拟主機:courier-mta及imap直接支持虛拟主機和LDAP,配置相當簡單。

j)         可參考文章極少,http://www.tonybibbs.com/courier-howto.html可算是不多是可用參考之一。由此也可見,由于文檔工作的不足,Courier是如何地變得不爲人知及不爲人用了。

 

郵件服務器的方案不少,在WINDOWS上,即使不算Exchange,可用的小郵件服務器都有十來種吧?特點千篇一律,對于在WINDOWS上的程序來說,核心功能一般不用自已做,所有程序實際上就是一個自已設計的操作界面調用微軟的COM構件,僅此而已。

 

五、其他可選方案;

a)  其他Linux商業方案

     1)      北京斯利爾公司的@message

@message 是廣告相當火的,但@message并不是一個完整的mail方案,本質上是一個包含了pop3及pop3管理工具,主要基于sendmail的,帶一個 相對精美的webmail的工具套件,不支持大量的用戶(大量的用戶必須另外定制)。不必考證它的pop3d其實是基于那一個開源軟件的,這不是它的賣 點,僅從基本mail性能上,它除了webmail外,連sendmail也比不上。@message主要賣點跑到了web,特别是WAP的web上,也 就是用手機收郵件,以及自動拆解語音MIME,目的也是用到手機或是電腦自已播語音上。一般認爲,這是非常邊緣的功能,這也從側面說明,爲什麽 @message商業上并不成功。由于@message不是完整的mail方案,而是一個mail邊緣應用方案,因此它無法解決包括smtp auth, tls,帳号管理等問題。@message聲稱有1500萬用戶,讓人懷疑是不是吹牛得也太離譜了。

     2)      廣州博大的foxmail server for linux

這 是一個基于qmail的解決方案,使用perl及resin的JSP提供應用管理界面(同時使用兩個WEB程序,是不是說明WEB開發力量太弱了?),可 以選擇mysql和ldap作爲帳号載體。提供基本的明文認證,屬于功能中低偏弱類型,如前所述,兼有qmail方案的全部弱點。報價55,000元,實 收估計20,000元,但相信沒有多少成功的案例。但不管如何,相對于@message,foxmail server更接近于實質性的mail解決方案,而不是邊緣方案。

 

b)      跨平台JAMES方案;

JAMES是 Apache-Jarkara項目中的解決方案。JAMES是純JAVA的應用,不受操作系統的限制,完全集成了MTA和MDA,并且自帶郵件分類查詢的 功能。本來是集成JAVA服務器應用相當理想的方案,缺點是未完全開發完畢,令人遺憾。James沒有經過嚴格和大範圍的試用,盡管已經到了2.1版本, 但我認爲它其實是一個未完成開發的産品,相當不穩定。它的缺點是:

1)         文檔少而試用欠缺;而且沒有完全實驗相應的RFC要求,因此,有時隻能在JAMES之間收發信,簡直就是要命。

2)         缺少有效的SMTP AUTH的方法;

3)         性能欠佳,沒有實現JAVA留駐後台服務,對于大量的信收發問題會相當嚴重;

4)         缺乏有效的後台管理工具。

 

綜合而言,就是令人期待,卻未可用。

 

c)     Lotus Domino方案;

Lotus Domino本質上不是純粹的郵件服務器,而實質上是一個二進制文件(非結構性文件)存儲/交換服務器,郵件功能本質是爲了完成文件的交換。Lotus Dimino的核心是提供一緻的非結構性文件的存儲和查詢方案,這一方案迹近完美,且是與平台無關的(與格式相關,即NSF);因此,任何立足于非結構性 文件的存儲和查詢作爲主要業務目的的項目,在财務可以承受的前提下,使用Lotus Domino都可以被認爲是合适的。

但作爲純粹的郵件服務 器,Lotus Domino不但太貴,而且功能單一而負載低下。Lotus Domino使用自帶郵件帳号(通訊錄),也可合并WINDOWS 2000帳号;支持最新的郵件協議。但除非使用專門提供的Lotus客戶端工具,否則與普通免費郵件服務器無異。

如果是進行非結構性文件類的存儲 和查詢,也就是OA型形式的應用,Lotus Domino除了太貴而且還須二次開發外,沒有什麽明顯的缺點,國産的各型OA除非本身也是基于MAIL的,否則與Lotus Domino不在同一個應用檔次。另一方面,存儲文件和查詢的方式并不止NSF一種,簡單的加密目錄存儲外加數據庫索引查詢可以獲得不亞于NSF的存儲和 查詢功能,也是實情。

因此,如果目的是使用Mail的話,不應選擇Lotus Domino;作爲簡單的OA,可以使用國産OA,讓Lotus Domino用到最合适的地方。

Lotus Domino mail服務器報價大約是幾萬,而Notes客戶端接近每個終端1000元,按一半折扣計,25用戶就需約二萬以上。正常情況下,含應用服務器則加倍再加 倍(企業版),并且随着用戶數增加而直線上升。不限用戶的Lotus Domino mail方案,連硬件及操作系統,成交至少在30萬元以上;若是全套功能,價格當2-3倍,二次開發費用另計,需加一半到翻番。

由于Lotus Domino 不是純粹的郵件服務器,所以一般也與Exchange server一樣稱爲群件服務器。

 

d)     Windows 平台方案

         1)     普通郵件服務器方案

         由于windows本身建制了SMTP,以及提供了POP3及IMAP4的MS API,因此在windows上開發郵件服務器是相對容易的,這類小軟件很多,粗略算起來有二十多種。這類軟件雖多,但卻都是雞肋,要說在小辦公室裏發 信,用不着它,直接用WINDOWS上的SMTP就可以了;如果要收信,需要DNS已經是不好弄,如果擺到網上,不但費用不菲,而且大卡車裝一塊小土豆, 也實在不象話。說到底,這批小軟件真的是隻能用來玩玩的小軟件,注定沒前途。代表是Imail及Foxmail server for NT.

Imail: 最早的共享文件夾的windows Mail。相當方便,粗看起來,按我們的要求,不計系統安全性,僅缺乏支持TLS,外置數據庫功能不完善;包括IMAP和WEBSERVER,以及虛拟主 機功能都提供了。使用也相當方便,但基于上述的理由——這又有什麽用呢?IMAIL的價格不菲,大緻是Exchange的一半左右。連同其平台 windows 2000外加相應的連接,發布成本并不低,當在十萬元以上,性能遠遠比不上那怕是qmail的普通方案。Imail還有另外一個問題,原因不明,就是使用 郵件代理而對方是UNIX服務器且要求有ESMTP時,它會不能識别地發出AUTH請求,這對于許多IMAIL來說後果就是一旦采用如防病毒代理服務器, 就無法和大多數郵件服務器通信了。原因也許是由于IMAIL沒有嚴格執行ESMTP的RFC協議要求。

明Foxmail server:配置項遠少于imail,幾乎沒有配置,但卻提供了SMTPAUTH,使用的也不是系統帳号,從這個意義上,它比IMAIL要好玩,如果打算讓WINDOWS湊合着收發郵件,這是一個好的辦法。Foxmail隻支持pop3.

 

1)   MS Exchange server 

與Domino 一樣,這是windows另一款非公享文件服務器型的,它其實是MS Mail的增強版本。Exchange常常與Domino争奪國内OA的市埸,但其實,Exchange本身并不帶文件存儲、處理等功能,它真的就是一個 交換工具,較之Domino多了netmeeting,Message server這類的聊天工具服務,對于深好此道的公司是一個不可多得的選擇(偏偏本人把UDP聊天與海洛因等而同之,不感冒)。所以區别Exchange 與Domino的使用其實很簡單:如果不是處理文件OA類,Exchange更合适。

Exchange支持相當完整的最新郵件協議,而且與 outlook客戶端密切集成,郵件、語音、聊天、傳真渾然一體,這種使用如同吸食海洛因一樣,讓人無法擺脫;特别是那種網上聊天(名爲網上會議),除非 老闆醒目知道它的危害,否則其下屬在選擇替代軟件時,一定會把支持聊天視作最必要的功能作爲替作産品的最優先條件。正因爲如此,任何mail方案可以與 Exchange競争,但如果讓替代現存的Exchange系統是妄想——考慮作爲補充增加mail功能更爲實際。正因爲Exchange server有如上補充功能,因此,也稱爲群件。

但反過來說,若除了語音、聊天、傳真之類邊緣功能剔除,Exchange就真沒有什麽特别的,看上去不比imail強到那裏去。成本與domain 差不多而稍便宜。

Exchange 最方便之處是它完全集成了windows2000系統,或MS Active Dircctory動态目錄的帳号。從這點也可以看出,Exchange server開發之初是打算仿制sendmail之于UNIX的角色提供主機-工作組級郵件服務的,其後轉爲從各個方面加強這一功能,這與Domino的 方向和側重點完全不同。但其問題最大之處,除了價格、高負載性能以外,恐怕就是它的帳号完全與系統(域)帳号集成了。換言之,Exchange郵件用戶自 然擁有window2000域服務器群的系統帳号,從而具備了産生無窮漏洞的空間。

但不管如何說,Exchange server仍然體現了微軟産品的一貫特點:基本功能簡單、全面、輕負載性能、系統漏同推向系統承擔、使用簡潔。安裝Exchange server不算太容易,但除了要花錢申請預算一項特别外,其餘較之linux同樣方案,畢竟不是一個低級的。

與Domino server相比,Exchange server更接近于是Linux mail方案的競争對手;而Domino server接近于是OA的競争對手。與Linux Mail相比,Exchange server在低成本、高負載性能、安全性上明顯劣勢;而在易用性、相關産品線、基本性能上明顯占優。這也是爲什麽linux mail爲什麽動不動就說自已安全,多麽差勁的機器每天能發多少千萬郵件的原因;而Exchange server總是有意無意強調自已的outlook也是同樣道理。

 


【返回】

首頁 » 產品介紹 » 郵件服務器方案 »
»
»
»
WAPMobile