使用PHP開發qmail郵件伺服器管理系統
來源:互聯網
上載者:User
電子郵件在網路中佔有很重要的地位。目前,在企業中啟動並執行郵件伺服器均用各自獨立的管理系統來實現帳號建立、口令修改、郵箱擴容、刪除郵箱等功能。當信箱使用者達到一定數量時,郵件管理員的日常維護工作顯得極為繁重,這就需要將一部分管理工作(如帳號申請)實現自動化處理;同時將一部分任務(如口令修改)由多個分組管理員來負責,從而使郵件管理員從繁瑣的維護工作中解脫出來,真正對郵件伺服器起到監管作用。
郵件伺服器及開發環境的選擇
目前很多郵件伺服器不提供開發介面,因此在企業內部實現開發郵件管理系統的首要問題是,尋找一種能夠與開發語言相結合的開放式郵件系統。
由於對穩定性要求很高,因此大型電子郵件系統一般都使用Unix作為伺服器的作業系統。例如,Hotmail使用的是FreeBSD和Solaris系統。
Linux內建的郵件由於在系統結構上存在一定缺陷,難以承受大使用者量的訪問。qmail是GNU下一款著名的自由軟體,是新一代Unix郵件系統,支援Maildir儲存方式。它把每個郵件作為一個單獨的檔案儲存在使用者個人的郵件目錄下。qmail支援虛擬域(Virtual Domain)和虛擬使用者(Virtual User)。當前國內流行的免費電子郵件系統大都採用qmail作為基本伺服器軟體,提供多級目錄以支援較大的使用者數。
從開發的角度看,PHP+Linux的開發模式已被許多開發人員採用。利用PHP來調用qmail提供的控製程序,實現對郵件系統的各種管理工作。為實現對大量使用者的有效控制,還可引入資料庫管理。本文將介紹一個PHP +Oracle+qmail+Linux的開發執行個體。
總體設計
整個系統分為郵箱管理和郵件收發兩部分。申請郵箱時,先填寫一些必要的資訊,然後系統會自動地建立郵箱並允許使用者立即使用。當使用者忘記密碼後,可採用目前互連網的通用做法,通過回答使用者自訂的問題來修改郵箱密碼。出於安全考慮,在使用者三次回答錯問題後,系統將該帳號的“修複郵箱密碼”功能鎖定30分鐘。
郵件管理依據不同的需求,將使用者權限分為以下3種層級:
◆ 普通使用者 能夠在瀏覽器中收發電子郵件、修改郵箱密碼、修改自訂問題和答案,並進行郵箱的查詢。
◆ 分組管理員 除擁有普通使用者的功能外,可以修改本組內所有帳號的密碼,解除本科室帳號的“修複郵箱密碼”功能鎖定。
◆ 郵箱管理員 可以修改全部郵箱口令、刪除郵箱、修改郵箱容量、查看郵箱的申請情況,解除全部帳號的“修複郵箱密碼”功能鎖定。