目前 Open Source 上的 webmail 種類不少,而商業版本的也不在少數,而筆者選擇了 squirrelmail 這個 webmail ,一來它的架構單純、系統回複快速、容易架設與維護、無須 SQL server 、與標準的 mail server 相容度高,mail 系統轉移上快速單純、操作簡便直覺、有為數不少的 modules 可供使用,多國語系、 另外一個大重點就是其架構單純程式碼十分容易閱讀,維護修改起來十分方便。squirrelmail 採 apache + PHP 模組,移植性高且 PHP 開發者為數眾多,十分有利於日後的發展。
目前 debian 收錄的 squirrelmail 版本序號為 1.2.5-1 ,目前發行版本的 squirrelmail 在中文上還有一些 小毛邊有待修正,幸好 squirrelmail 架構簡潔,筆者簡單的閱讀了 source code 花費了約四個小時的工作時數, 將部份的中文問題解決,剩下的只是翻譯上的問題,十分容易處理。這個部份就期待有心人士自行處理了。 以下開始筆者將一步一步的帶領大家安裝這小巧可愛的 squirrelmail。
############################################ # # 簡單的安裝與初步的體驗 # 設定 squirrelmail 連接遠端的 mail server # 英文介面 # ############################################ $ apt-get install poppassd # 安裝 poppassd $ apt-get install squirrelmail # 安裝 squirrelmail $ /etc/squirrelmail/conf.pl # 設定 squirrelmail 2-2 IMAP Server : rmote-IP 2-6 SMTP Server : rmote-IP 輸入 R 回到主畫面 輸入 S 存檔 輸入 Q 離開 $ mozilla http://127.0.0.1/squirrelmail/ # 啟動 mozilla 看信 ############################################ # # 設定 squirrelmail 以 local 機器為 mail server # 設定語系為 zh_TW 與 Big5 (繁體中文與大五碼) # 你將發現部份有中文部份英文,未完全中文化 # ############################################ $ /etc/squirrelmail/conf.pl # 設定 squirrelmail 1-5 Default Language zh_TW 輸入 R 回到主畫面 2-1 Domain local-domain # 填寫主機名稱 2-2 IMAP Server local-IP # 127.0.0.1 2-6 SMTP Server local-IP # 127.0.0.1 輸入 R 回到主畫面 4-1 Default Charset big5 輸入 R 回到主畫面 6-2 Use Javascript Address Book Search : true 輸入 R 回到主畫面 8 Installed Plugins (ALL) 輸入 R 回到主畫面 輸入 S 存檔 輸入 Q 離開 $ mozilla http://127.0.0.1/squirrelmail/ # 如果你已經開啟了 mozila 直接登出登入就可以了 # 無須再次執行 mozilla ############################################ # # 修正翻譯檔,編輯翻譯檔,轉換 PO 成為 MO 檔案 # 你將會發現,大部份都正確,少部份還是有問題如左上角「星?」 # 日曆部份中文有問題 # ############################################ $ cd /usr/share/squirrelmail/locale/zh_TW/LC_MESSAGES $ mkdir bak ; cp * bak $ cat squirrelmail.po | grep -v '#, fuzzy' > tmp.po $ msgfmt -o tmp.mo tmp.po ; cp tmp.mo squirrelmail.mo $ mozilla http://127.0.0.1/squirrelmail/ # 如果你已經開啟了 mozila 直接登出登入就可以了 # 無須再次執行 mozilla ############################################ # # 修正左上角「星?」=>「星期日」 # ############################################ $ cd /usr/share/squirrelmail/ $ edit src/left_main.php # $clk = substr( getDayName( date( 'w', time() ) ), 0, 6 ) . date( ', ' . $hr, time() ); # 第 267 行 將 3 改成 6 # 在 mozilla 直接登入登出,看看是否修正成功 ############################################ # # 修正日曆下方,月份的下拉式選單 「十?」 # ############################################ $ cd /usr/share/squirrelmail/ $ edit plugins/calendar/functions.php # $is = substr( _( date('F',mktime(0,0,0,$i,1,1)) ), 0, 6 ); # 第 125 行將 3 改成 6 # 在 mozilla 直接重複點選日曆,看看是否修正成功 ############################################ # # 修正日曆上方,左右兩側月份將英文改成中文 # ############################################ $ cd /usr/share/squirrelmail/ $ edit plugins/calendar/calendar.php line 42 46 # date_intl( 'F', $prev_date). "</a></th>\n". # 第 42 行將 M 改成 F # date_intl( 'F', $next_date) . " ></a></th>". # 第 46 行將 M 改成 F # 在 mozilla 直接重複點選日曆,看看是否修正成功 ############################################ # # 修正日曆模組當日行事曆中文問題 # ############################################ $ cd /usr/share/squirrelmail/ $ edit plugins/calendar/day.php #" <TR><TH WIDTH=\"12%\" ALIGN=LEFT><A HREF=\"day.php?yea # 第 30 行將 5 改成 12 拉大行寬 # date_intl('l',$prev_date)."</A></TH>\n" . # 第 31 行將 D 改成 l , 將上方左側英文改成中文 # date_intl('l',$next_date)." ></A></TH></TR>\n"; # 第 35 行將 D 改成 l , 將上方右側英文改成中文 # 在 mozilla 直接重複點選日曆的日期部份,看看是否修正成功 ############################################ # # 修正 mail box 與 mail 檔頭,星期部份錯誤 # ############################################ $ cd /usr/share/squirrelmail/ $ edit functions/date.php line 167 # $ret = str_replace( '$1', substr( getDayName( date( 'w', $stamp ) ), 0, 6 ), $ret ); # 第 167 行將 3 改成 6 # 在 mozilla 直接重複點選收夾件夾部份,看看是否修正成功 ############################################ # # 安裝提供使用者自行更改密碼的 plugins # ############################################ $ cd /usr/share/squirrelmail/plugins $ wget ftp://IP/pub/webmail/change_pass.1.3-1.0.1.tar.gz # 下載 change_pass.1.3-1.0.1.tar.gz $ tar xvfz change_pass.1.3-1.0.1.tar.gz # 解壓縮 $ /etc/squirrelmail/conf.pl # 重新設定 squirrelmail 8-1 13. change_pass # 將 change_pass 加入模組 # 在 mozilla 下直接點選個人化設定,在網頁的最下方你將會看到更改個人密碼的選項,請自行測試看看 ############################################ # # 已知問題 # ############################################ 如果你想利用現成的 mail server 幫忙寄信,而將 squirrelmail 純粹當成 outlook 使用, 則你要留心對方 mail server 要幫你作信件 relay 。另外可能無法使用 change_pass 這個 功能。 |