一種電子郵件的載入方法及裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于電子郵件通信領(lǐng)域,尤其涉及一種電子郵件的載入方法及裝置。
【背景技術(shù)】
[0002]目前各企事業(yè)單位內(nèi)部的工作管理軟件中都有對(duì)郵件進(jìn)行管理的模塊,此模塊為郵件客戶端,現(xiàn)有的郵件客戶端郵件載入的方法是,用戶點(diǎn)擊打開一封郵件,郵件客戶端主程序?qū)υ撪]件進(jìn)行下載、顯示,只有當(dāng)下載、顯示完成當(dāng)前選取打開的郵件后才能進(jìn)行打開下一封郵件的操作?,F(xiàn)有郵件客戶端的郵件載入方法存在的問(wèn)題是,當(dāng)郵件容量比較大,郵件中有多張圖片時(shí),郵件載入需要很長(zhǎng)的時(shí)間,而這段時(shí)間如果用戶想瀏覽下一封郵件則必須等待當(dāng)前郵件載入完成,當(dāng)收件箱中郵件數(shù)量多時(shí),等待的時(shí)間就越長(zhǎng),造成郵件查看的效率低下,浪費(fèi)用戶時(shí)間,給用戶體驗(yàn)感差。
【發(fā)明內(nèi)容】
[0003]本發(fā)明實(shí)施例提供一種電子郵件的載入方法及裝置,旨在解決載入大容量郵件時(shí)不能同時(shí)對(duì)郵件客戶端的其他郵件進(jìn)行載入操作的問(wèn)題。
[0004]為達(dá)到上述目的,本發(fā)明提供一種電子郵件的載入方法,包括:
[0005]接收郵件收取指令,啟動(dòng)主線程,主線程輸出郵件列表;
[0006]主線程輪詢對(duì)郵件列表中郵件的郵件查看指令,接收郵件查看指令,針對(duì)每個(gè)郵件查看指令創(chuàng)建一個(gè)子線程;
[0007]所述子線程下載所述郵件查看指令對(duì)應(yīng)的郵件,發(fā)送對(duì)應(yīng)郵件的存儲(chǔ)路徑給主線程;
[0008]主線程接收子線程發(fā)送對(duì)應(yīng)郵件的存儲(chǔ)路徑,根據(jù)所述存儲(chǔ)路徑讀取對(duì)應(yīng)郵件內(nèi)谷并輸出展不。
[0009]本發(fā)明還提供一種電子郵件的載入裝置,包括:
[0010]郵件收取模塊,用于接收郵件收取指令,啟動(dòng)主線程,主線程輸出郵件列表;
[0011]郵件查看模塊,用于主線程輪詢對(duì)郵件列表中郵件的郵件查看指令,接收郵件查看指令,針對(duì)每個(gè)郵件查看指令創(chuàng)建一個(gè)子線程;
[0012]郵件下載模塊,用于所述子線程下載所述郵件查看指令對(duì)應(yīng)的郵件,發(fā)送對(duì)應(yīng)郵件的存儲(chǔ)路徑給主線程;
[0013]郵件輸出模塊,用于主線程接收子線程發(fā)送對(duì)應(yīng)郵件的存儲(chǔ)路徑,根據(jù)所述存儲(chǔ)路徑讀取對(duì)應(yīng)郵件內(nèi)容并輸出展示。
[0014]本發(fā)明提供的一種電子郵件的載入方法及裝置,主線程輪詢對(duì)郵件列表中郵件的郵件查看指令,接收郵件查看指令,針對(duì)每個(gè)郵件查看指令創(chuàng)建一個(gè)子線程將,這樣即使用戶郵件多,每封郵件的容量大,包括多張圖片,當(dāng)用戶打開第一封郵件,需要載入的時(shí)間很長(zhǎng)時(shí),用戶不必等待第一封郵件載入完成后再打開第二封郵件,而是在第一封郵件載入的同時(shí),就可以打開第二封郵件,以及后面的多封郵件進(jìn)行查看,節(jié)約了用戶的等待時(shí)間,提高了郵件查看的效率,提升了用戶的體驗(yàn)感。
【附圖說(shuō)明】
[0015]圖1是本發(fā)明電子郵件的載入方法第一實(shí)施例的流程示意圖;
[0016]圖2是本發(fā)明電子郵件的載入方法第二實(shí)施例的流程示意圖;
[0017]圖3是本發(fā)明電子郵件的載入裝置第一實(shí)施例的結(jié)構(gòu)示意圖;
[0018]圖4是本發(fā)明電子郵件的載入裝置第二實(shí)施例的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0019]為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí)施例,對(duì)本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說(shuō)明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
[0020]本發(fā)明實(shí)施例的具體方案是:
[0021]如圖1所不,本發(fā)明第一實(shí)施例提出一種電子郵件的載入方法,包括:
[0022]步驟SlOl,接收郵件收取指令,啟動(dòng)主線程,主線程輸出郵件列表;
[0023]用戶運(yùn)行管理軟件,打開郵件客戶端郵件管理模塊,點(diǎn)擊郵件收取選項(xiàng)后,即發(fā)送了郵件收取指令,郵件客戶端的郵件管理模塊在接收到郵件收取指令后,運(yùn)行主線程,顯示收件箱界面,在界面中輸出郵件列表,界面包含收件箱中每封郵件的列表信息,列表信息包括郵件的讀取狀態(tài)、發(fā)件人名稱、郵件主題、發(fā)送日期等。
[0024]步驟S102,主線程輪詢對(duì)郵件列表中郵件的郵件查看指令,接收郵件查看指令,針對(duì)每個(gè)郵件查看指令創(chuàng)建一個(gè)子線程;
[0025]主線程輸出收件箱郵件列表后,采用輪詢的方式處理用戶查看郵件的消息指令,等待用戶點(diǎn)擊郵件進(jìn)行查看操作,當(dāng)用戶選取收件箱中任意一封郵件(命名為郵件I)進(jìn)行點(diǎn)擊打開操作后,即向主線程發(fā)送郵件查看指令,主線程接收郵件查看指令后,創(chuàng)建子線程(命名為子線程I),子線程I獨(dú)自處理郵件I的下載任務(wù),主線程創(chuàng)建子線程I后繼續(xù)等待接收郵件查看指令。
[0026]當(dāng)子線I下載郵件I完成或者正在下載郵件I時(shí),用戶點(diǎn)擊查看收件箱中的另外一封郵件(命名為郵件η),則主線程接收到郵件查看指令后,會(huì)創(chuàng)建一個(gè)子線程(命名為子線程η),,子線程η獨(dú)自處理郵件η的下載任務(wù),主線程繼續(xù)等待接收郵件查看指令。
[0027]本步驟使主線程與多個(gè)子線程并行運(yùn)行,同時(shí)處理各自的任務(wù)。
[0028]步驟S103,所述子線程下載所述郵件查看指令對(duì)應(yīng)的郵件,發(fā)送對(duì)應(yīng)郵件的存儲(chǔ)路徑給主線程;
[0029]子線程被創(chuàng)建后,即執(zhí)行對(duì)應(yīng)的郵件下載任務(wù)。
[0030]子線程將對(duì)應(yīng)郵件從本地郵件服務(wù)器下載到本地用戶存儲(chǔ)盤,完成后將對(duì)應(yīng)郵件的存儲(chǔ)路徑發(fā)送給主線程。
[0031]本步驟使程序中可以存在多個(gè)子線程對(duì)多封郵件同時(shí)進(jìn)行下載。
[0032]步驟S104,主線程接收子線程發(fā)送對(duì)應(yīng)郵件的存儲(chǔ)路徑,根據(jù)所述存儲(chǔ)路徑讀取對(duì)應(yīng)郵件內(nèi)容并輸出展示;
[0033]主線程接收到子線程發(fā)送的對(duì)應(yīng)郵件文件的存儲(chǔ)路徑后,讀取郵件的內(nèi)容,并將內(nèi)容輸出到郵件客戶端郵件正文顯示界面展示給用戶。
[0034]本實(shí)施例將郵件的下載任務(wù)交給對(duì)應(yīng)的子線程進(jìn)行處理,主程序等待用戶的其他操作,當(dāng)子線在下載對(duì)應(yīng)郵件,同時(shí)用戶點(diǎn)擊打開第二封郵件時(shí),主程序?qū)⒘硗鈫?dòng)一個(gè)新線程來(lái)下載第二封郵件,這樣就實(shí)現(xiàn)了多封郵件的多線程載入,節(jié)約了用戶的等待時(shí)間,提高了郵件查看效率,提升了用戶的體驗(yàn)感。
[0035]如圖2所示,本發(fā)明第二實(shí)施例提出一種電子郵件的載入方法,在上述第一實(shí)施例步驟S103之后,進(jìn)一步還包括:
[0036]步驟S201,根據(jù)郵件ID查找本地服務(wù)器郵件數(shù)據(jù)庫(kù)中的mail文件和mailattach文件;
[0037]本地服務(wù)器郵件內(nèi)容的正文和圖片是分開存儲(chǔ)的,郵件正文及圖片的調(diào)用地址存儲(chǔ)在郵件體文件中,郵件圖片存儲(chǔ)在郵件附屬文件中,具體的,這里的郵件體文件為mail文件,郵件附屬文件為mailattach文件,子線程將對(duì)應(yīng)郵件的ID作為識(shí)別標(biāo)志在服務(wù)器上查找對(duì)應(yīng)郵件的mail文件和mailattach文件,獲取文件在服務(wù)器上的存儲(chǔ)位置。
[0038]步驟S202,下載該郵件的mail和mailattach文件內(nèi)容到本地用戶存儲(chǔ)盤中的html文件和郵件附屬文件中;
[0039]下載到本地用戶存儲(chǔ)盤的郵件內(nèi)容中,郵件正文和圖片分別存儲(chǔ)在郵件體文件和郵件附屬文件中,郵件體文件中包含郵件正文的文字表格部分,郵件圖片的調(diào)用地址。具體的,這里所指的html文件是郵件體文件,子線程將服務(wù)器上對(duì)應(yīng)的郵件文件下載到本地用戶存儲(chǔ)盤上的郵件體html文件和郵件附屬文件;
[0040]步驟S203,修改html文件中郵件圖片的調(diào)用地址;
[0041]由于郵件的圖片在本地郵件服務(wù)器上的存儲(chǔ)地址下載到本地用戶存儲(chǔ)盤后發(fā)生改變,而郵件體html文件在下載到本地用戶存儲(chǔ)盤后其中的圖調(diào)用地址并沒(méi)有隨之改變,所以子線程必須修改html文件中圖片的調(diào)用地址,才能在本地郵件正文顯示界面中正確的調(diào)用圖片的地址進(jìn)行輸出顯示。
[0042]步驟S204,發(fā)送html文件在本地用戶存儲(chǔ)盤的存儲(chǔ)路徑到主線程;
[0043]子線程將修改完成后的html文件存儲(chǔ)路徑發(fā)送給主線程后,本子線程執(zhí)行結(jié)束。
[0044]本實(shí)施例子線程在郵件的下載過(guò)程中