Open WebMail 歷史
大約在 1998 年的時候, 我們在實驗室(國立成功大學分散式系統實驗室)
的 server 上 裝了第一套 WebMail, 由 Endymion
所發展的 MailMan. 這套軟體雖然是免費的,
但是為了防止別人修改, 其原始碼故意經過編碼, 使得我們在替其增加中文處理能力時, 吃了不少苦頭. 不過後來越來越多的郵件帶有多媒體附件, 而當時的 MailMan
對含有附件的信件處理並不是很正常, 所以就起了要換另外一套 WebMail 的念頭.
大約是在 2000 年剛開學的時候, 無意間看到 NeoMail
這套軟體的介紹, 覺得很不錯, 就把用它取代了原本的 MailMan. Neomail 是由 Ernie
Miller 所發展的, 最大特色在於不透過 POP3 server, 直接處理 mail server 上的信件檔案, 特點如下
- 良好的使用者介面
- 多國語言支援
- 使用者可以自訂信件夾
- 可以寄出含有附件的郵件
- 可以處理含有附件的郵件並且會將圖檔直接顯示出來
- 可以限制信件夾大小
- 使用者可以自訂外觀, 簽名檔
- 支援通訊錄, 並可以匯入 Outlook Express/Netscape 的通訊錄
不過在用了一陣子之後, 發現 Neomail 雖然有著上述良好的特性, 但是其缺點是速度太慢, 無法處理大量的信件, 不支援顯示 HTML 信件,
若要拿來取代 Outlook, 也還缺乏一些重要的功能如 郵件規則, 抓取外部 POP3 信箱, 全文檢索, 拼字檢查等功能. 針對這些問題, 我們 決定對
Neomail 進行改寫, 這個改寫的版本被命名為 Open
WebMail.
關於各個版本 Open WebMail 的主要變動, 請參考各版變動說明
註: Open WebMail 參加
2003 年 開放源碼軟體競賽,
榮獲應用組特優, 獎金五萬元, 參賽相關資料:
提案書,
結案報告,
簡報.
在此感謝主辦單位
中華民國軟體自由協會及
資策會所有工作人員的辛勞.
另外也特別感謝 IBM 公司致贈 ThinkPad X31 一台 :)
Open WebMail 特點
系統部分
- 良好的使用介面
- 多國語言 (目前共支援超過 30 種語言)
- 多組圖示, 多組佈景, 自訂背景
- 世界時區切換, 日光節約時間支援
- 多種認證模組 (unix, pop3, mysql, postgres, ldap) 與 PAM 外掛認證支援
- 使用者 quota 管理模組 (quota_unixfs, quota_du) , 可強制清除超過 quota 者過舊的信件或檔案
- 支援 虛擬主機/使用者別名
- 支援 虛擬使用者帳號 (能使用 pop3/webmail 功能, 但無須建立 unix 帳號)
- 支援 多個網域, 各網域可做不同的設定
- 支援 個別使用者權限設訂
- 支援 網頁壓縮傳送, 提高傳輸效率
- 線上更改密碼
- 使用者歷史記錄
- 配合 SpeedyCGI, 可常駐於記憶體中執行
郵件列表
- 快速切換不同信件匣
- 快速換頁功能
- 可依 信件狀態, 信件日期, 寄信人, 信件標題, 信件大小 排序
- 可以設定過濾條件, 然後只列出合乎條件的信件
- 新信語音通知
- 信匣變動通知, 顯示最近進入各信件匣的信件
- 變更信件讀取狀態
郵件讀取
- 與 Outllook 接近的多媒體信件顯示能力
- 多種字集內碼自動轉換 (如: 簡繁轉換, 日文 Shif-JIS/ISO-2022-JP/EUC-JP, 各種字集/ UTF-8)
- 可收取 外部 POP3 郵件
- 可關閉信件中的 CGI 連結, 避免email 地址被回傳給廣告商
- 可關閉信件中的 Javascript, 避免惡意的 script 程式
- 可將 HTML 信件 轉換成文字格式顯示, 完全避免 HTML 病毒
- 支援 讀信回條
- 支援 自動回覆
- 支援 信件重組 功能
- 信件中的附件可被下載或是儲存到網路硬碟中
郵件撰寫
- 提供 HTML 信件編寫功能, 可內嵌圖片, 聲音, 表格, 同時支援 Windows IE 與 所有平台上的 Mozilla
- 支援 多組發信地址
- 支援 寫信底稿
- 支援 草稿暫存
- 支援 個人通訊錄 與 公用通訊錄
- 拼字檢查
- 可動態切換寫信字集內碼
- 可選擇送信字集內碼
- 可透過本機或外部主機寄信
- 電子郵件中的附件可由網路硬碟新增或由使用者上傳
郵件過濾
- 可定義個人郵件規則 與 公用郵件規則
- 可呼叫外部程式進行 病毒掃描
- 可呼叫外部程式進行 垃圾信判讀
- 支援過濾 重複出現過多次 信件
- 支援過濾 寄件人地址格式不正確 信件
- 支援過濾 偽造來源IP位址 信件
- 支援過濾 偽造發信人 信件
- 支援過濾 偽造 EXE 附件型態 信件
郵件搜尋
- 可針對 寄信人, 收信人, 信件檔頭, 信件標題, 信件內容, 附件檔名 進行全文檢索
- 同時搜尋多個信件匣
- 支援正規表示式 (regular expression)
- 搜尋時, 如有需要, 會自動進行內碼轉換再進行比對 (eg: 以簡體字搜尋繁體信件)
郵件管理
- 信件匣 建立/更名/刪除/下載
- 信件 複製/搬移/刪除/下載
- 重建 / 修復 信件匣索引
- 自動清除垃圾桶 N 天以上郵件
行事曆
- 年 / 月 / 週 / 日 行事曆列表
- 全年事件詳細列表
- 支援 個人行事曆 與 公用行事曆
- 可設定週期性事件
- 事件可標明色彩
- 事件相關 link可以是 外部 URL 或是 Open WebMail 中出現的任何 link, 如信件匣的某封信件, 或是網路硬碟上某個檔案
- 與電子郵件列表主畫面整合, 提供 事件提醒 功能
- 事件提醒 也可以 寄給外部郵件地址, 轉傳到其他裝置上
網路硬碟
- 以使用者 home 目錄作為網路硬碟 root
- 基本的目錄與檔案操作, 新增/複製/搬移/刪除 (包含子目錄)
- 檔案 上傳與下傳
- 多檔或目錄下傳 (即時編成壓縮檔傳回)
- 文字檔 線上編輯
- HTML檔 即時預覽 (檔案不必在 public_htm 下)
- 壓縮檔 建立/ 解壓縮 / 內容列表
- 圖檔 縮圖功能
- 檔案搜尋, 可搜尋檔名或是文字內容
- 電子郵件中的附件可由網路硬碟新增, 也可儲存到網路硬碟中
Open WebMail 的一些畫面
登入
設定
信件列表
主功能表
讀信
寫信
行事曆
網路硬碟
Open WebMail 的運作
Open WebMail 是屬於前面所謂的 Direct Access 型的 WebMail, 如下圖所示

為了提高信件匣處理的速度, Open WebMail 在設計上大量使用 DBM 資料庫來索引信件匣內的資料,
因此即使在面對信件匣內信件數量很多的狀況下, 仍然能有良好的反應速度.
除了信件存取外, 在 Open WebMail 發展的過程中, 我們首先加入了
抓取外部 POP3 信箱, 郵件規則, 拼字檢查, 全文檢索 等功能,
算是基本上達到取代 Microsoft Outlook 這個設計目標.
之後隨著使用的需要, 或是來自使用者的建議與幫助, 又陸續地加入
病毒/垃圾信過濾, 信件轉寄, 自動回覆, 簡繁轉換,
行事曆, 網路硬碟, 常駐執行, 編寫HTML郵件 等等實用的功能,
朝著比 Outlook 更好用的目標邁進
未來方向
以下是一些我們希望在以後能夠加到 Open WebMail 的功能
- 網路書籤
- PGP 數位簽章/加密
- 群組分享
- Maildir 格式支援