中文Webmail的設(shè)計與優(yōu)化
- 期刊名字:現(xiàn)代計算機(jī)(專業(yè)版)
- 文件大小:165kb
- 論文作者:王娟
- 作者單位:廣東外語外貿(mào)大學(xué)
- 更新時間:2020-09-29
- 下載次數(shù):次
實踐與經(jīng)驗中文Weomall的設(shè)前與優(yōu)化王娟(廣東外語外貿(mào)大學(xué),廣州510420)t要:本文介紹了-一個高效開發(fā)中文Webmail郵件系統(tǒng)的方法,即通過集成現(xiàn)有軟件Qmail作為郵件系統(tǒng)核心,Vpopmail管理虛擬域,Courier--IMAP服務(wù)器為Qmail用戶提供IMAP服務(wù),Squirrelmail實現(xiàn)基于Web的中文郵件客戶端;并從中文支持及防病毒能力方面對郵件系統(tǒng)的優(yōu)化進(jìn)行了探討,給出優(yōu)化方案。關(guān)鍵詞:郵件服務(wù)器; Webmail; IMAP;協(xié)議; MIME引言廠MUA?(如:Outlook,十如: Sendmail(如Procmail,f郵箱Foxmail等)Qmail等)」Maildrop 等)與傳統(tǒng)的電子郵件模式相比:Webmail郵件系統(tǒng)二王的用戶不必再關(guān)心客戶端郵件工具的配置;不必?fù)?dān)心郵件隊列由于郵件下載到本地計算機(jī)而引起的安全問題。這也圖1郵件傳輸過程使得WWW界面的Webmail郵件系統(tǒng)越來越多地被企業(yè)采用。為了節(jié)約成本,中小企業(yè)大多想采用免費、相對于其他MTA系統(tǒng)來說,Qmail具有安全性、安全、擴(kuò)展性強(qiáng)的Webmail郵件系統(tǒng),但目前,多數(shù)免可靠性和高效性的特點,所以,本文選擇了Qmail1.03費的中文Webmail軟件在設(shè)計的安全性、中文處理等作為郵件服務(wù)器的核心。但由于Qmail軟件比較小方面常出現(xiàn)問題,給用戶帶來一定程度的不便,因此,巧,只能實現(xiàn)郵件服務(wù)器的基本功能,很多郵件服務(wù)如何為企業(yè)提供更可靠、更安全、性能更好的郵件系器需要的功能,如虛擬域、基于數(shù)據(jù)庫的用戶管理、統(tǒng),已成為設(shè)計中文Webmail的一個目標(biāo)。Webmail、郵件列表等功能,它都不能提供。因而,本文采用Vpopmail5.4.9補(bǔ)充虛擬域管理,Courier-1中文Webmail的設(shè)計IMAP4.0.2補(bǔ)充IMAP 服務(wù),Qmailadmin1.2.3補(bǔ)充虛由于提供Web和Email服務(wù)要求穩(wěn)定性和性能擬域Web方式管理,Squirrelmail1.4.4補(bǔ)充中文Web-特別高,同時又要考慮成本問題,因此對操作系統(tǒng)、郵mail功能,以實現(xiàn)完整的郵件服務(wù)器的設(shè)計。系統(tǒng)結(jié)件服務(wù)器軟件、用戶數(shù)據(jù)庫的選擇必須有很高的要構(gòu)如圖2所示。求。對于郵件系統(tǒng)的詳細(xì)安裝操作,很多文檔都有介現(xiàn)|(1)郵件服務(wù)器的搭建紹,這里不再贅述。本文重點討論如何將-個搭建好Linux中的郵件系統(tǒng)包括三個組件:MUA(Mail的Webmail郵件服務(wù)器進(jìn)行優(yōu)化。算|User Agent, 郵件用戶代理)、MTA (Mail Transport(2)數(shù)據(jù)庫的設(shè)計機(jī)Agent,郵件傳送代理)和MDA( Mail Dilivery Agent, 郵在Webmail系統(tǒng)中,所需要處理的數(shù)據(jù)主要有:件投遞代理)。MUA是郵件系統(tǒng)為用戶提供的可以讀郵件的存儲、用戶資料和個性化配置的存儲等。郵件第|寫郵件的界面;MTA運行在底層,負(fù)責(zé)把郵件由一個的存儲是由IMAP系統(tǒng)負(fù)責(zé)處理.系統(tǒng)將會為每一個=|服務(wù)器傳到另一個服務(wù)器;MDA則幫助把郵件放到用戶建立中國煤化工的郵件。用戶資料用戶的郵箱里。整個郵件的傳輸過程如圖1所示。的存儲,| YHC N M H Gqirrelmail的要求而設(shè)置):userprefs表-用來存儲用戶的信息;address期10 MODERN COMPUTER 2006.1實踐與經(jīng)驗表一用來存儲用戶的個人通訊簿。訪問自己的郵箱。當(dāng)IE瀏覽器的用戶在使用Squirrelmail打開-這兩個表的結(jié)構(gòu)如下:封郵件時出現(xiàn)一個現(xiàn)象:如果郵件的附件名是中文Table structure for table 'userprefs'名,該中文名可正常顯示在網(wǎng)頁上,但一旦進(jìn)行下載CREATE TABLE userprefs (user varchar(128) DEFAULT " NOT NULL, .保存郵件操作時,文件名就變成亂碼,對用戶造成了prefkey varchar(64) DEFAULT " NOT NULL,不便。因此,本文對此進(jìn)行分析和解決。prefval blob DEFAULT " NOT NULL,由于亂碼現(xiàn)象是出現(xiàn)在郵件下載的時候,因此,PRIMARY KEY (user,prefkey)可以直接找到Squirrelmail源代碼中實現(xiàn)附件下載功能的模塊download.php,對其進(jìn)行分析.糾正。Table structure for table 'address'在download.php模塊中,對附件文件名進(jìn)行分析CREATE TABLE address (處理的語句如下:owner varchar(128) DEFAULT " NOT NULL,define('SM_ PATH',./);nickname varchar(16) DEFAULT " NOT NULL,firstname varchar(128) DEFAULT " NOT NULL,// If name is not set, use subject of emaillastname varchar(128) DEFAULT " NOT NULL,if (strlen(Sfilename)< 1){email varchar(128) DEFAULT" NOT NULL,label varchar(255),PRIMARY KEY (owner,nickname),KEY firstname (firstname,lastname)進(jìn)行調(diào)試時,在上述最后的“}”后面加“echo$file-name'-句進(jìn)行調(diào)試,發(fā)現(xiàn)文件名顯示正常,因此,可以確定該段沒有問題,繼續(xù)往下分析:(遠(yuǎn)端郵件服務(wù)器)--------if (sset($absolute_ _dI) && $absolute_ _dI) {Smtp認(rèn)證vchkpwWehogSendDownloadHeaders($type0, $typel, $filename, 1);erver} else {qmail-smtpdmai-injectSendDow nloadHeaders($typeO, $type1, Sfilename, 0);Lqmail-queue用戶數(shù)據(jù)庫ysal這段是下載附件的核心代碼,“SendDownload-qmail-sendHeaders"函數(shù)包含在mime.php里,其作用是:如果最[ qail-rspawn「[ qai-lspawn一+ qmail-local后參數(shù)是1時,則在客戶端顯示下載窗口供用戶下載,qmal-remote |' VPOPMAIL店如果最后參數(shù)是0,而且文件是瀏覽器能支持顯示的類擬城郵件目錄型(如gif..jpg.txt等圖像或文本類型)時,則在瀏覽器Qmail系統(tǒng)POPCourier-lmap里直接顯示出來,當(dāng)文件是其他類型時,則在客戶端顯/chkpw_示下載窗口供用戶下載。這里,要分析SendDownload-LPOP3 客戶腦」CIMAP 客戶瑞Headers函數(shù),就需要先了解MIME協(xié)議。圖2Webmail郵件系統(tǒng)結(jié)構(gòu)圖MIME (Multipurpose Internet Mail Extensions)意為多用途互聯(lián)網(wǎng)郵件擴(kuò)展,它設(shè)計的最初目的是為了|現(xiàn)2系統(tǒng)優(yōu)化在發(fā)送電子郵件時附加多媒體數(shù)據(jù),讓郵件客戶程序|代企業(yè)越來越依靠電子郵件進(jìn)行商務(wù)活動,優(yōu)化郵能根據(jù)其類型進(jìn)行處理。由于MIME類型與文檔的后|計件系統(tǒng)構(gòu)架,構(gòu)筑一個安全的郵件信息交換平臺 ,已綴相關(guān),服務(wù)器必須使用文檔的后綴來區(qū)分不同文件算是當(dāng)務(wù)之急。本文主要針對Webmail郵件系統(tǒng)的中文的MIME類型,但客戶程序從服務(wù)器上接收數(shù)據(jù)的時支持和防病毒功能的優(yōu)化進(jìn)行探討。候,它只是從服務(wù)器接受數(shù)據(jù)流,并不了解文檔的名(1 )Squirrelmnail中文亂碼現(xiàn)象的修正字,因此'中國煤化主來告訴客戶程序數(shù)Squirrelmail(松鼠Webmail)是一套以PHP4語言據(jù)的MIYCN M H Gontent-ype關(guān)鍵字編寫的基于網(wǎng)頁的Email客戶端系統(tǒng),其設(shè)計目標(biāo)是進(jìn)行定義, x :uomen-iype: appication/octet-stream。允許人們隨時隨地通過Internet以基于網(wǎng)頁的形式來MODERN COMPUTER 2006.1實踐與經(jīng)驗下面對SendDownloadHeaders進(jìn)行分析:該安裝過程比較麻煩,為了要使用可被支持的程function SendDownloadHeaders ($type0, $type1, $file-序以及確保Qmail的正常運行,在安裝Qmail- -Scan-name, $force, $filesize=0) {ner之前,必須先安裝幾個軟件包: Maildrop1.5.2、global $languages, $squirrelmail language;Qmail1.03補(bǔ)丁程序、Perl插件、Mark Simpson's TNEF$islIE= $isIE6= 0;解壓軟件包以及ClamAV 0.65。完成后,就可以進(jìn)行.....Qmail- Scanmer的安裝配置了。這里,需要說明的一點if ($isIE) {$filename=rawurlencode($filename);就是:在Qmail--Scanner配置的最后,需要在/var/qmail/supervise/qmail -smtpd/run 文件中加上語句:QMAILQUEUE = "/var/qmail/bin/qmail -scanner -queue.pl"export QMAILQUEUE,這樣Qmail就會調(diào)用Qmail-}// end fn SendDownloadHeadersscanner來處理郵件隊列了。經(jīng)分析,發(fā)送標(biāo)志數(shù)據(jù)MIME類型信息的代碼沒Qmail-scanner 安裝成功,它就會執(zhí)行任務(wù):對壓有問題,但發(fā)現(xiàn)在發(fā)送信息之前有這樣的語句“$file-入郵件隊列的郵件進(jìn)行掃描。首先替換了qmail-name=rawurlencode($filename);," ,其中,“rawurlencodequeue程序來處理最初的郵件隊列,并調(diào)用郵件解碼是PHP3以上自帶的函數(shù)string rawurlencode (string程序?qū)︵]件進(jìn)行解碼,然后將解碼后的郵件轉(zhuǎn)交給str),作用是返回字符串,此字符串中除了“一_."之外的ClamAV進(jìn)行分析。對于病毒郵件, ClamAV會保留在所有非字母數(shù)字字符都將被替換成“%后跟兩位十六.服務(wù)器的隔離區(qū)里,接著轉(zhuǎn)-封主題為“virus found in進(jìn)制數(shù)”。這是在RFC1738中描述的編碼,是為了保sent message "xx””的病毒警告郵件給Qmail-Scan- .護(hù)原義字符以免其被解釋為特殊的URL定界符,同ner,由Qmail-Scanner根據(jù)設(shè)定規(guī)則將病毒警告郵件時保護(hù)URL格式以免其被傳輸媒體( 如一些郵件系投遞給郵件系統(tǒng)管理員、發(fā)信人甚至收信人;而對于統(tǒng))使用字符轉(zhuǎn)換時弄亂。正常郵件,ClamAV會原封不動地轉(zhuǎn)回給Qmail- -Scan-由于傳輸給SendDownloadHeaders 函數(shù)的file-ner,由其對郵件進(jìn)行投遞處理。name參數(shù)已是正常的文件名,不需要對其再進(jìn)行編結(jié)語碼。至此,我們找出了問題的根源,解決辦法就是把國內(nèi)外有不少Webmail 系統(tǒng),例如國外的$filename=rawurlencode(filename);這句注釋掉。經(jīng)過測試,下載保存時,中文甚至是其他國家文字的文件SQWebmail .Any. -email 等系統(tǒng),但是由于中西文顯示名都能正常顯示了。的差別或者擴(kuò)展性不強(qiáng)等原因,這些系統(tǒng)并不適合在(2)Clam Antivirus+ Qmail- Scanner實現(xiàn)防病毒國內(nèi)使用;國內(nèi)也有成熟的Webmail系統(tǒng),但都屬于Webmail的安全威脅之一來源于電子 郵件,這些商業(yè)軟件,源碼并不公開。為了達(dá)到中小企業(yè)免費使郵件可能是一些垃圾郵件,也可能是含有病毒代碼的用安全、可靠、擴(kuò)展性強(qiáng)的中文Webmail郵件系統(tǒng)的郵件,它們浪費帶寬,并且阻塞沒有防備措施的郵件目的,我們自己設(shè)計了這個系統(tǒng):采用優(yōu)化措施解決服務(wù)器上的隊列。為了能夠掃描郵件服務(wù)器中進(jìn)出的-般系統(tǒng)中中文顯示亂碼的問題,并且增加了防病毒郵件,必須安裝Qmail的-個附加軟件包:Qmail-模塊,使系統(tǒng)更加高效安全。我們根據(jù)上述設(shè)計方案開發(fā)了郵件系統(tǒng),目前在國內(nèi)某企業(yè)運行良好。Scanner。Qmail- -Scanner是專門為Qmail設(shè)計的內(nèi)容掃描器。它包括了一個簡單的內(nèi)置掃描器,可以過濾含有參考文獻(xiàn)算.|特定字符或者特征的郵件;同時,也可以和其他商業(yè)[1 http: //qmail-scanner.sourceforge.net/機(jī)的病毒掃描器或TomaszKojm提供免費的ClamAn-[2]htp: /www.squirelmail.org/[3htp: /ifewithqmail.rg/LWQ -CN.htmltivirus(簡稱ClamAV,是Unix平臺上的基于GPL的[]ttp: /www.cnfug.or/jourmal/archivev/00005 1.html第|反病毒工具集,在快速更新數(shù)據(jù)庫方面享有良好聲=|譽(yù))掃描器集成在-起掃描郵件中的病毒。為了提高[5]Hugh中國煤化i'eb數(shù)據(jù)庫應(yīng)用開發(fā)指南.電力出版社,2003Qmail服務(wù)器的防病毒能力,本文采用了Qmail--Scan-YHCNM H G,高日期:2005-06-02)期ner和ClamAV集成的方案。MODERN COMPUTER 2006.1 .實踐與經(jīng)驗The Design and Optimizationof Chinese WebmailWANG Juan(Guangdong University of Foreign Studies, Guangzhou 510420 China)Abstract: This paper introduces an efficient method to develop Chinese Webmail system which is an integrationresolution of the W ebmail system consisting of four parts: Qmail as the core of the mail system, V popmailmanaging the virtual domain, Courier- IMAP server providing IMAP service for Qmail users, Squirrelmailrealizing the Web_ based mail client. Moreover, this paper discusses the optimization of the mail system onthe Chinese support and antivirus.Key words: Email Server; WebMail; IMAP; Protocol; MIME. (上接第87頁)Probe of a Bug of DropDownl istin C#.NET and the ResolventZHU Xian-po|現(xiàn)(Qingdao Webland Software Control Ltd, Qingdao 266071 China)|代Abstract: This article discusses the atrbute- SelectedIndex of DropDownList Control, which is frequently usedin the development environment of C#.NET. By tracing the program in detail, it find out the reason ofthis bug. The scheme of how to avoid and resolvent it is also given.Key words: DropDownList ; SelectedIndex; Trace Into; C#.NET中國煤化工MYHCNMHGMODERN COMPUTER 2006.1
-
C4烯烴制丙烯催化劑 2020-09-29
-
煤基聚乙醇酸技術(shù)進(jìn)展 2020-09-29
-
生物質(zhì)能的應(yīng)用工程 2020-09-29
-
我國甲醇工業(yè)現(xiàn)狀 2020-09-29
-
石油化工設(shè)備腐蝕與防護(hù)參考書十本免費下載,絕版珍藏 2020-09-29
-
四噴嘴水煤漿氣化爐工業(yè)應(yīng)用情況簡介 2020-09-29
-
Lurgi和ICI低壓甲醇合成工藝比較 2020-09-29
-
甲醇制芳烴研究進(jìn)展 2020-09-29
-
精甲醇及MTO級甲醇精餾工藝技術(shù)進(jìn)展 2020-09-29




