It is UTF-8 Pages.
And I want move it to Chinese/DovecotVSCourier Can you help me. And I want to create some Chinese page about Dovecot.
åè©¦ä¸æ
再次進行中文測試。
Fedora åè©¦ä¸æ中文測試 下電郵接收伺服器 dovecot 及與 Courier-IMAP 的比較
Fedora 一直在伺服器選擇上一直沒有 Debian 那樣可以玩各式各樣不同的伺服器,例如一直介紹的 Courier-IMAP 就不是 Fedora 可以直接從安裝光碟上安裝的伺服器。(如果你有興趣在 Fedora 下玩 Courier-IMAP 的話,你就需要到下載編譯了!當然你也可以找一些己編譯完成的程式包。)
要在 Fedora 下編譯 Courier-IMAP 的話,你可以參考以下的網頁。
* http://www.courier-mta.org/?status.html
但是有很多不同的步驟,也很麻麻煩煩的。
Fedora 下的電郵接收伺服器
但是你也許會問,是否 Fedora 在安裝過程中就不可以選擇安裝一些好用的電郵接收伺服器?!我想這篇文章希望可以探討這方面的事情。
dovecot 電郵接收伺服器
其實 Fedora 在安裝過程中是可以選擇兩個不同的接收伺服器的。
- imapd
這是最傳統的接收伺服器。如果你在四五年前已開始管理電郵系統的話,你應該管過這一隻伺服器的。而且它只支援 mbox 檔案,而不支援 Maildir/ 的,而且它的功能也十分有限。
- dovecot
這是一隻新進的接收伺服器。我想你也很少聽這一隻接收伺服器的名字。但是它卻有不錯的功能,而且以彈性,保安及效能見稱。
dovecot 和 Courier-IMAP 的比較
我想也應在這裡對 dovecot 這一伺服器作一個功能簡介。
它支援 MySQL , PostgreSQL , LDAP , PAM 等的認証:這方面基本上和 Courier-IMAP 是相同的。(但是 Fedora 的編譯上只支援了 LDAP 。)但是設定上卻比 Courier-IMAP 來得簡單,老實我十分喜歡它的簡單。因為人大了,不喜歡複習。我也想早些放工照顧我的小孩。)
它支援不同的資料庫同時認証,這方面 Courier-IMAP 是沒有考慮到的。也就是電郵的使用者可以同時存在在 MySQL 和 PostgreSQL 下。
dovecot 和 courier-imap 的認証分別 --- Courier-IMAP 在認証上沒有 dovecot 的彈性,主要是它的 authdaemon 把不同的認証模組拆開了。而且當你執行了 authdaemon.ldap 就不能同時執行 authdaemon.mysql 。但是 dovecot 就不同了,它和 Courier-IMAP 一樣有它的認証程式來進行認証工作這和 Courier-IMAP 使用的 authdaemon 的認証伺服器相似!它是以一伺服器形式來作認証工作。這有一定的好處。例如︰當它提供不同的電郵組件的時候,如 webmail 和 smtpd-auth 時,就可以使用相同的認証伺服器來工作。但是 Courier 的 webmail 和 smtpd-auth 卻沒有如它的外寄伺服器般出色,所以少人提及。 dovecot 的認証程式在 fedora 下是這一個程式。file:///usr/libexec/dovecot/dovecot-auth 它把所有對不同的認証伺服器交談的工作集中在一起來作,而不是分開出來。因此 dovecot 可以同一時間對不同的認証伺服器來作交談。
Courier-IMAP 和 dovecot 的結構分別︰當你執行你的 dovecot 的時候,你會看見如下的情況︰
$ ps awx ... 9706 ? S 0:00 /usr/sbin/dovecot 9710 ? S 0:00 dovecot-auth 9711 ? S 0:00 imap-login 9712 ? S 0:00 imap-login 9713 ? S 0:00 imap-login ...
dovecot 會負責聆聽 imap2 和 pop3 的聆聽埠(當然也聽 SSL 的 imap 和 pop3 )。它和 Courier-IMAP 也有相似的地方!因為 Courier-IMAP 是以 courier-tcp 來負責聆聽工作,而當有客戶提出連接要求是才把連接要求交給 imap-login ( dovecot ) 或 imaplogin 負責的。而當中的認証工作就交給 dovecot-auth 來做了!courier-IMAP 的起動後的情況太過複習了所以在這裡不作交待了,如果你有伺服器行 Courier-IMAP 的話,就把它顯示出來看看吧。
dovecot 在認証工作上把認証 auth_passdb 和使用者資料 auth_userdb 查詢分開了,這是一個很有趣的地方,也是 Courier-IMAP 所不同的。這方面要好好為文來介紹一下!而且當你了解這一個地方之後,你才容易了解 PAM 的結構。這方面 Courier-IMAP 是沒有加以考慮的!這當然會增加 dovecot 的彈性。例如︰你可以把使用者的資料放在 MySQL 內,而認証的資料放在 PostgreSQL 或 LDAP 下,這會使得當你設計使用者帳號時更為靈活。而且還有一個有趣的部份就是你可以簡單地使用一種關係式來表達使用者和使用者的 Mail Storage 的關係,使得 dovecot 不需要在查詢使用者資料時連接資料庫,加快回應使用者的時間。( dovecot 稱這為︰
auth_userdb = static ...
可以考慮使用一個 non-root 使用者來執行 dovecot 。這方面好像 courier-IMAP 是沒有提及可否如此設定的。( IMAP 和 POP3 因為要接觸不同使用者的帳號資料,因此很多時候這些伺服器都是使用 root 帳號來執行的,當然這會增加 IMAP 和 POP3 伺服器的保安問題。如果能使用 non-root 使用者全權負責 IMAP 和 POP3 的運作,那麼就不會產生不必要的保安問題。當然要作這樣的設定,會產生一些限制。但是如果你的 dovecot 也是使用 root 的執行的話,那麼你其它的 dovecot 的部件還是可以不使用 root 來執行的,而且在執行上可以有 uid 的限制,也使得你的接收電郵伺服器因發現保安問題時,也不會當 cracker 連接時也無法取得 root 使用者的權限。)
dovecot 也有一個很特別的功能,稱作 INDEX 的;dovecot 把電郵信箱下的郵作作出了 INDEX 。加上使用者查看電郵的速度,而這方面 Courier-IMAP 也有考慮這方面的事情。你可以發現你使用者 Maildir 下有不同的檔案,有些就是這樣的 INDEX 檔案。)
dovecot 提供不同的 Mail Storage 模式,例如︰ Maildir/ 或者 mbox 等,這也是 Courier-IMAP 所沒有提供的。
dovecot 與 quota
有一事,不能不提的就是 dovecot 對 quota 的支援還未納入在 dovecot 的 static 版本中。如果你的電郵伺服器下的 imap 伺服器是十分重視 quota 的問題,可能你還是需要等待等待,但是聽說 dovecot 1.0 版本發放的時候就會有 quota 的支援了。
當然你仍可以使用 Filesystem level 的 quota 來作 quota 控制