- Vixual - http://www.vixual.net/blog -

AtMail/AtMailOpen: 一套支援 IMAP 及 AJAX 的 Webmail 系統

因為我公司的 Mail Server 是使用 IMAP 協定,原本是安裝 IlohaMail 做為用戶的 Webmail,但 IlohaMail 對於 UTF-8 及中文郵件的支援並不算良好! 並且郵件一多的話,有時讀取郵件清單會很久! 所以陸陸續續我都有在注意其它有支援 IMAP 的 Webmail。

最近發現一套由商業版改為 Opensource 的 Webmail: AtMailOpenAtMail 商業版的價格是 USD$250,但已經在去年推出了功能比較簡單,並且是 Opensource 的 AtMailOpen。(AtMail 商業版與 Open 版的功能比較)

我先到 AtMailOpen 的官網去試用後的感覺很不錯,畫面簡潔大方、並且運用了 AJAX,所以存取速度頗快。AtMailOpen 對於中文郵件、中文信件匣的支援也都很正常。

如果你接受 Webmail 僅支援 IMAP/IMAPS,並且沒有中文操作介面,那你 應該要試試有 AJAX 加持的 AtMailOpen。

安裝說明

首先,請確認你的 Server 有支援 PHP 與 MySQL

1. 下載後的檔名是 atmailopen.tgz,如果沒有副檔名,請自行加上 .tgz。

2. 用 WinRAR 解開 atmailopen.tgz 後上傳到 Server 的網頁空間 (或上傳 atmailopen.tgz 再用 tar 解壓縮)。

3. 將 atmailopen 目錄及檔案的擁有者改為「apache」:

chown -R apache atmailopen

4. 用瀏覽器連結 http://example.com/atmailopen/ 即可進入 atmailopen 的安裝介面。

狀況及解決方式

一開始在安裝使用上有遇到兩個問題,問題及解決方法如下:

1. 安裝畫面是一片空白 (安裝過程沒有官網寫的那麼簡單)。

解決方法: 將 AtMailOpen 所有檔案及目錄的擁有者改為「apache」,指令:

chown -R apache atmailopen

2. 登入失敗,跟這位老兄的狀況一樣,錯誤訊息「-ERR Login failed」。

我檢查了一下 maillog,這是因為 AtMailOpen 用了完整的 E-Mail Address 做為登入帳號,而我的 Mail Server 只能用 @ 前面的用戶名稱來登入! Trace 了一下程式碼,解決方法如下:

編輯「/atmailopen/libs/Atmail/Generic_Mail.php」,找到:

$login = $this->mailer->login($user, $pass);

在前面增加一行:

$user = preg_replace('/\@.*/', '', $user);

總共會找到兩個,只要處理第一個即可。

設定檔及繁體中文

AtMailOpen 的設定檔位於「/atmailopen/libs/Atmail/Config.php」,可是內容又多又雜,也沒有註解 (不曉得這是不是因為 Open 版少了管理介面的緣故,所有設定統統丟在這裡,這是我看過最雜亂的設定檔),不過我們還是可以改一些有用的東西。

1. 啟用繁體中文

其它 AtMailOpen 已經有繁體中文語言檔了,只是不曉得什麼原因沒有啟用! 要啟用繁體中文,搜尋:

$language = array (

在下方增加一行:

'chinese' => 'Chinese',

2. 設定新用戶的預設值
找到:

$settings = array (

修改下方的設定如下:

'Language' => 'english',	改為:	'chinese'
'TimeZone' => '',	改為:	'Asia/Taipei'
'MsgNum' => '25',	改為:	'50'

($settings 陣列有滿多東西可以改的,可以自行嘗試修改看看)

預設登入資訊

我嘗試在設定檔改了一些要做登入時預設的郵件伺服器、網域名稱,結果都無效! 只好去改登入樣版「/atmailopen/html/login-light.html」,直接加上預設的郵件伺服器及網域名稱。

希望以上的介紹及問題處理方法可以讓大家方便使用 AtMailOpen,如果用起來不錯可以考慮商業版喔。