Webmail是當今非常流行的E-mail形式,同時通過浏覽器可以進行相應的個人及系統的管理工作。所以Webmail系統的建設必不可少。
大中型企業電子郵件系統用戶數量常常很大,雖然使用對象相對固定,但用戶水平參差不齊,對用戶的管理工作也比一般的ISP更為嚴格。這給郵件系統管理人員帶來繁重的管理工作,我們希望能采用目前流行的免費 Webmail 形式提供郵件服務和遠程管理,用戶通過浏覽器就能夠完成郵箱申請、密碼更改、發送郵件、接收郵件等工作,並且能以數據庫方式保存用戶的注冊信息、個人信息和通信錄等,這樣大大方便了一般用戶,特別是對E-mail客戶端軟件使用不熟練的用戶,同時減輕了系統管理員繁瑣的用戶管理工作。
表3 CGI程序名稱
功能說明
listvdomain
以表格形式列出虛擬域中的別名和用戶郵箱
vaddalias
增加一個別名
vadduser
增加一個用戶及郵箱
vchattr
修改用戶的各項屬性
vchforwards
修改用戶的郵件轉發目的地
vdeluser
刪除一個用戶
vpasswd
修改用戶的口令(用戶自行修改或由管理員修改)
我們采用著名的Apache作為Web服務器,使用PHP3為腳本語言,數據庫系統采用小巧而高效的MySQL,這是目前建立動態網站的“黃金組合”。介紹這幾種軟件的資料很多,在網上還有很多高手建立了專門的網站,限於篇幅,有關這三個軟件的安裝使用方法,就不介紹了。
在Webmail的具體程序設計中,Web客戶端可以通過直接文件訪問的方式來獲得用戶的郵件,也可以通過POP3、IMAP等標准協議來訪問。我們采用的是通過IMAP協議來訪問服務器,其優點是Web客戶端和E-mail服務器相分離,可提高系統安全性,同時PHP3提供了豐富的IMAP和MySQL函數庫,使我們可以很輕松地寫出簡捷高效的程序。
在設計用戶管理Web頁面時,可直接調用Vmailmgr提供的CGI程序,它們在Vmailmgr安裝完成時已被自動存放在網站的cgi-bin目錄下了,簡要說明見表3,詳細的說明和使用方法可查閱文檔中的vmailmgr-cgi.htm。
表4 函數語法格式
函數說明
int vm-adduser(string vdomain, string basepwd, string newusername, string newuserpassword);
增加一個虛擬用戶
int vm-deluser (string vdomain, string username)
刪除一個虛擬用戶
int vm-addalias (string vdomain, string basepwd, string username, string alias)
增加一個虛擬用戶的別名
int vm-delalias (string vdomain, string basepwd, string alias)
刪除一個別名
int vm-passwd (string vdomain, string username, string password, string newpassword)
修改一個虛擬用戶的口令
要想自己設計更靈活方便的頁面,Vmailmgr還提供了一組PHP3、PHP4函數,見表4。
當前,已經有一些相當成熟的開放源代碼的Web客戶端軟件,如采用Perl編寫的WING,還有采用PHP來實現的IMP等,這些開放源代碼軟件都相當不錯。其中,IMP是通過IMAP協議訪問服務器的Web郵件客戶端軟件,功能強大,支持多種語言和數據庫(可在Http://www.horde.org下載),使用這些軟件可大大減輕系統開發的工作量。