Tuesday, May 31, 2005

IMAP Server Software

話說 IMAP Server 百百種... 唔! 好像也沒那麼多, 大概常見的就是 UW-IMAP, Cyrus-IMAP, Courier-IMAP, DBmail 這幾種.

UW-IMAP 用的是 Unix 標準的 mail box 格式, 缺點是一個 Folder 很大的時候就會出現爆炸性的延遲, 慢到頭暈. 再加上這種 mail box 的架構沒辦法搞 sub-folder, 或稱為 dual-used folder, 對 user 來說很不方便. (雖然有 patch 給 UW-IMAP 硬上 Maildir 格式的 Folder, 但也是很糟糕的解法)

Cyrus-IMAP 用的是他自己的特殊格式, 算是 Maildir 的變形. 不過麻煩的是它碰到 Subject 是沒編碼的 8bit 字串就會很機車的把 8bit 字串用 X 替換掉, 經常出現的就是一些中文標題變成一堆 XXX 好像是什麼 A 片宣傳品 :p

是有 8bit 的 hack 讓 Cyrus-IMAP 不會用 X 去替換 Subject 裡面的 8bit 字串, 但是測試發現遇到一些怪字串會爆炸, 可能是衝到它內部的控制碼. 雖然說 8bit subject 應該要編碼是RFC 說的啦, 但是不照 RFC 寫的東西還不少, 起碼一堆電子報都是亂來的, 可是又不能通通擋掉.

DBmail 因為後端要上 SQL 才能顯現他偉大的地方, 所以就沒多測試了... 環境還沒到需要隨便搬 SQL database 出來的地, 三四年內預估也不會長需要端 SQL 出來搞的程度. 再說, 這個 SQL server 沒 tune 好的話, 反而會變成瓶頸 :p

最 後說 Courier-IMAP, 這東西算是測試到現在最棒的了. 他使用標準的 Maildir 格式, 對於 8bit subject 是來者不拒 (個性好), 塞了 n*10 GB 的垃圾電子報還有一大堆亂七八糟的信件進去也面不改色通通吃下去 (不挑食), 再加上提供 mbox 轉 Maildir 的好工具可以快速的把一大堆 user 的舊信件轉過去... 嗯! 這陣子先平行測試看看, 沒爆炸的話應該就是挑這個上吧!

No comments: