freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于java的郵件客戶端的設(shè)計(jì)和實(shí)現(xiàn)畢業(yè)設(shè)計(jì)-資料下載頁(yè)

2025-06-27 17:44本頁(yè)面
  

【正文】 text/html, ... } ... } 處理HTML郵件前面的例子中發(fā)送的郵件都是以文本為內(nèi)容的(除了附件),下面將介紹如何接收和發(fā)送基于HTML的郵件。發(fā)送HTML郵件假如需要發(fā)送一個(gè)HTML文件作為郵件內(nèi)容,并使郵件客戶端在讀取郵件時(shí)獲取相關(guān)的圖片或者文字的話,只要設(shè)置郵件內(nèi)容為html代碼,并設(shè)置內(nèi)容類型為text/html即可:String htmlText = H1Hello/H1 + img src=\\。 (htmlText, text/html))。請(qǐng)注意:這里的圖片并不是在郵件中內(nèi)嵌的,而是在URL中定義的。郵件接收者只有在線時(shí)才能看到。 在接收郵件時(shí),如果使用JavaMail API接收郵件的話是無(wú)法實(shí)現(xiàn)以HTML方式顯示郵件內(nèi)容的。因?yàn)镴avaMail API郵件內(nèi)容視為二進(jìn)制流。所以要顯示HTML內(nèi)容的郵件,必須使用JEditorPane或者第三方HTML展現(xiàn)組件。以下代碼顯示了如何使用JEditorPane顯示郵件內(nèi)容:if (().equals(text/html)) { String content = (String)()。 JFrame frame = new JFrame()。 JEditorPane text = new JEditorPane(text/html, content)。 (false)。 JScrollPane pane = new JScrollPane(text)。 ().add(pane)。 (300, 300)。 ()。 ()。 }在郵件中包含圖片如果在郵件中使用HTML作為內(nèi)容,那么最好將HTML中使用的圖片作為郵件的一部分,這樣無(wú)論是否在線都會(huì)正確的顯示HTML中的圖片。處理方法就是將HTML中用到的圖片作為郵件附件并使用特殊的cid URL作為圖片的引用,這個(gè)cid就是對(duì)圖片附件的ContentID頭的引用。 處理內(nèi)嵌圖片就像向郵件中添加附件一樣,不同之處在于必須通過(guò)設(shè)置圖片附件所在的郵件體部分的header中ContentID為一個(gè)隨機(jī)字符串,并在HTML中img的src標(biāo)記中設(shè)置為該字符串。這樣就完成了圖片附件與HTML的關(guān)聯(lián)。String file = ...。// Create the messageMessage message = new MimeMessage(session)。// Fill its headers(Embedded Image)。(new InternetAddress(from))。(, new InternetAddress(to))。// Create your new message partBodyPart messageBodyPart = new MimeBodyPart()。String htmlText = H1Hello/H1 + img src=\cid:memememe\。(htmlText, text/html)。// Create a related multipart to bine the partsMimeMultipart multipart = new MimeMultipart(related)。(messageBodyPart)。// Create part for the imagemessageBodyPart = new MimeBodyPart()。// Fetch the image and associate to partDataSource fds = new FileDataSource(file)。(new DataHandler(fds))。(ContentID,memememe)。// Add part to multipart(messageBodyPart)。// Associate multipart with message(multipart)。 在郵件中搜索短語(yǔ)JavaMail API提供了過(guò)濾器機(jī)制,它被用來(lái)建立搜索短語(yǔ)。,在定義后便可以使用Folder的Search()方法在Folder中查找郵件:SearchTerm st = ...。Message[] msgs = (st)。下面有22個(gè)不同的類(繼承了SearchTerm類)供使用:AND terms (class AndTerm)OR terms (class OrTerm)NOT terms (class NotTerm)SENT DATE terms (class SentDateTerm)CONTENT terms (class BodyTerm)HEADER terms (FromTerm / FromStringTerm, RecipientTerm / RecipientStringTerm, SubjectTerm, etc.)使用這些類定義的斷語(yǔ)集合,可以構(gòu)造一個(gè)邏輯表達(dá)式,并在Folder中進(jìn)行搜索。下面是一個(gè)實(shí)例:在Folder中搜索郵件主題含有“ADV”字符串或者發(fā)信人地址為friend@。SearchTerm st = new OrTerm(new SubjectTerm(ADV:), new FromStringTerm(friend@))。 Message[] msgs = (st)。 第4章 郵件客戶端的設(shè)計(jì)和實(shí)現(xiàn) 需求分析實(shí)時(shí)通信的電話有兩個(gè)嚴(yán)重缺點(diǎn):第一,電話通信的主叫和被叫雙方必須同時(shí)在場(chǎng);第二,一些不是十分緊迫的電話也常常不必要地打斷人們的工作或休息。電子郵件()是因特網(wǎng)上使用得最多的和最受用戶歡迎的一種應(yīng)用。電子郵件將郵件發(fā)送到ISP的郵件服務(wù)器,并放在其中的收信人郵箱(mail box)中,收信人可隨時(shí)上網(wǎng)到ISP的郵件服務(wù)器進(jìn)行讀取。上述的性質(zhì)相當(dāng)于利用因特網(wǎng)為用戶建立了存放郵件的信箱,因此有時(shí)也稱為“電子信箱”。電子郵件不僅使用方便,而且還具有傳遞迅速和費(fèi)用低廉的優(yōu)點(diǎn)。據(jù)有的公司報(bào)道,使用電子郵件后可提高勞動(dòng)生產(chǎn)率30%以上?,F(xiàn)在電子郵件不僅可傳遞文字信息,而且還可附上聲音和圖像。本設(shè)計(jì)是基于Java的郵件客戶端,是一個(gè)實(shí)現(xiàn)電子郵件收、發(fā)功能的應(yīng)用程序,可直接安裝于PC機(jī)上執(zhí)行,無(wú)需進(jìn)行任何配置,只要在相應(yīng)位置輸入用戶名和密碼,即可享受電子通信的便捷,功能與OutLook Express、FoxMail等專業(yè)郵件客戶端相仿。之所以使用Java語(yǔ)言開(kāi)發(fā),是因?yàn)槠淇缙脚_(tái)性及面向?qū)ο笤O(shè)計(jì)等優(yōu)點(diǎn),便于開(kāi)發(fā)及使用。 概要設(shè)計(jì)電子郵件的主要組成構(gòu)件如圖41所示:用戶代理郵件服務(wù)器用戶代理郵件服務(wù)器(發(fā)送郵件)SMTP(TCP連接)(發(fā)送郵件)SMTP(TCP連接)(發(fā)送郵件)POP3(TCP連接)圖41 電子郵件主要組成構(gòu)件用戶代理就是用戶與電子郵件系統(tǒng)的接口,大多情況下就是在用戶PC機(jī)中運(yùn)行的程序,也就是本設(shè)計(jì)的郵件客戶端。 郵件客戶端基本功能(1) 撰寫(xiě),給用戶提供很方便地編輯信件的環(huán)境。例如,應(yīng)讓用戶能共創(chuàng)建便于使用的通訊錄(有常用的人名和地址)?;匦艜r(shí)不僅能方便地從來(lái)信中提取出對(duì)方地址,并自動(dòng)地將此地址寫(xiě)入到郵件中合適的位置,而且還能方便地對(duì)來(lái)信提出的問(wèn)題進(jìn)行答復(fù)(系統(tǒng)自動(dòng)將來(lái)信復(fù)制一份在用戶撰寫(xiě)回信的窗口中,因而用戶不需要再輸入來(lái)信中的問(wèn)題)(2)顯示,能方便地在計(jì)算機(jī)屏幕上顯示出來(lái)信(包括來(lái)信附上的聲音和圖像)。(3)處理,處理包括發(fā)送郵件和接收郵件。收信人應(yīng)能根據(jù)情況按不同方式對(duì)來(lái)信進(jìn)行處理。例如,閱讀后刪除、存盤、打印、轉(zhuǎn)發(fā)等,以及自建目錄對(duì)來(lái)信進(jìn)行分類保存。有時(shí)還可在讀取信件之前先查看一下郵件的發(fā)信人和長(zhǎng)度,對(duì)于不愿收的信件可直接在郵箱中刪除。 電子郵件傳輸過(guò)程郵件服務(wù)器是電子郵件系統(tǒng)的核心構(gòu)件,因特網(wǎng)上所有的ISP都有郵件服務(wù)器。郵件服務(wù)器的功能是發(fā)送和接收郵件,同時(shí)還要向發(fā)信人報(bào)告郵件傳送的情況(已交付、被拒絕、丟失等)。郵件服務(wù)器按照客戶服務(wù)器方式工作。郵件服務(wù)器需要使用兩個(gè)不同的協(xié)議。一個(gè)協(xié)議用于發(fā)送郵件,即SMTP協(xié)議,而另一個(gè)協(xié)議用于接收郵件,即郵局協(xié)議POP(Post Office Protocol)。下面是一封電子郵件的發(fā)送和接收工程(結(jié)合圖51)。(1)發(fā)信人調(diào)用用戶代理編輯要發(fā)送的郵件,用戶代理用SMTP將郵件傳送給發(fā)送端服務(wù)器;(2)發(fā)送端郵件服務(wù)器把郵件收入郵件緩存隊(duì)列中,等待發(fā)送;(3)運(yùn)行在發(fā)送端郵件服務(wù)器的SMTP客戶進(jìn)程,發(fā)現(xiàn)在郵件緩存中有待發(fā)送的郵件,就向運(yùn)行在接收端郵件服務(wù)器的SMTP服務(wù)器進(jìn)程發(fā)起TCP連接的建立;(4)當(dāng)TCP連接建立后,SMTP客戶進(jìn)程開(kāi)始向遠(yuǎn)程的SMTP服務(wù)器進(jìn)程發(fā)送郵件,如果有多個(gè)郵件在郵件緩存中,則SMTP客戶一一把它們發(fā)送到遠(yuǎn)程的SMTP服務(wù)器,當(dāng)所有的待發(fā)送郵件發(fā)完了,SMTP就關(guān)閉所建立的TCP連接;(5)運(yùn)行在接收端郵件服務(wù)器中的SMTP服務(wù)器進(jìn)程收到郵件后,把郵件放入收信人的用戶郵箱中,等待收信人在他方便時(shí)進(jìn)行讀取;(6)收信人在打算收信時(shí),調(diào)用用戶代理,使用POP3 (或IMAP)協(xié)議把自己的郵件從接收端郵件服務(wù)器的用戶郵件箱中取回(如果郵箱中有來(lái)信的話)。 郵件客戶端設(shè)計(jì)概要本設(shè)計(jì)之郵件客戶端由一樹(shù)形結(jié)構(gòu)構(gòu)成主界面,內(nèi)含收件箱、發(fā)件箱、草稿箱和垃圾箱,彼此間之關(guān)聯(lián)如圖42所示:在郵件系統(tǒng)主界面輸入登錄名和密碼,登陸成功后,可看到樹(shù)形結(jié)構(gòu)的收件箱、發(fā)件箱、草稿箱和垃圾箱。收件箱主要通過(guò)POP3協(xié)議來(lái)接收、查看郵件,并可存儲(chǔ)發(fā)件人地址到通訊錄,對(duì)無(wú)需保存的郵件可直接刪除,發(fā)到垃圾箱,對(duì)需要回復(fù)的郵件則轉(zhuǎn)到發(fā)件箱發(fā)送郵件;發(fā)件箱則通過(guò)SMTP協(xié)議發(fā)送郵件,可以從通訊錄中查找收件人或自己輸入收件人以及直接回復(fù)郵件,發(fā)送時(shí)也可將新輸入的收信人地址存入通訊錄,對(duì)發(fā)送后的郵件,有需要保留的,可存草稿到草稿箱;草稿箱主要用來(lái)編輯不待立即發(fā)送的郵件和發(fā)件時(shí)的草稿,也可對(duì)保存的已發(fā)郵件進(jìn)行修改后或不需任何更改直接發(fā)送,轉(zhuǎn)到發(fā)件箱,對(duì)無(wú)保存需要的草稿可進(jìn)行刪除,轉(zhuǎn)到垃圾箱;垃圾箱主要用來(lái)存放無(wú)用的、被刪除的郵件,可再次刪除確無(wú)價(jià)值的郵件,執(zhí)行徹底刪除,也可對(duì)誤刪或仍有用的郵件進(jìn)行還原,轉(zhuǎn)到郵件的先前存放處。郵件系統(tǒng)主界面(用戶登錄)收件箱(查看郵件/POP3協(xié)議/存來(lái)信地址)發(fā)件箱(發(fā)郵件/SMTP協(xié)議)垃圾箱(永久刪除郵件)草稿箱回復(fù)存草稿發(fā)送刪除還原還 原刪 除 圖42 郵件客戶端結(jié)構(gòu)圖 詳細(xì)設(shè)計(jì)由于本設(shè)計(jì)是基于Java的,所以先要安裝Java環(huán)境——JDK;安裝好JDK后,要對(duì)環(huán)境變量進(jìn)行配置,否則系統(tǒng)無(wú)法識(shí)別或經(jīng)常報(bào)錯(cuò);接著就要安裝配置具體用到的開(kāi)發(fā)環(huán)境JBuilder 9,在它的幫助下,程序的以較為方便的開(kāi)發(fā)。前期工作準(zhǔn)備完畢,就是具體、詳細(xì)的設(shè)計(jì)過(guò)程,其中包括了各部分的結(jié)構(gòu)圖、流程圖及UML框圖。各部分內(nèi)容分別介紹如下: JDK的安裝下面使用圖解的形式進(jìn)行JDK安裝的演示,使大家有個(gè)較為直觀的認(rèn)識(shí)。1) 先在網(wǎng)上下載好源文件,然后安裝,點(diǎn)擊“Next”,如圖43;2) 選擇安裝或刪除(對(duì)已安裝用戶來(lái)說(shuō)),點(diǎn)擊“Next”,如圖44;3) 選擇安裝內(nèi)容,點(diǎn)擊“Next”,如圖45;4) 安裝完成,點(diǎn)擊“Finish”,如圖46。圖43 JDK安裝第1步圖44 JDK安裝第2步圖45 JDK安裝第3步圖46 JDK安裝第4步 環(huán)境變量配置1. 設(shè)置環(huán)境變量環(huán)境變量是包含諸如驅(qū)動(dòng)器、路徑或文件名之類的字符串。它們控制著多種程序的行為。例如,TEMP 環(huán)境變量指定程序放置臨時(shí)文件的位置。任何用戶都可以添加、修改或刪除用戶的環(huán)境變量。但是,只有管理員才能添加、修改或刪除系統(tǒng)環(huán)境變量。JDK中的javac是進(jìn)行編譯java源程序的,其實(shí)可以在dos下通過(guò)把路徑改到j(luò)dk的BIN目錄下執(zhí)行或者是在編譯時(shí)就帶上這些路徑,但是經(jīng)常這樣肯定是很麻煩的。于是可以通過(guò)path來(lái)設(shè)置這個(gè)路徑,這樣每次進(jìn)行編譯時(shí)系統(tǒng)就能自動(dòng)來(lái)尋找這個(gè)目錄即“path=x:\……\jdk\bin”,這樣只要是在bin目錄下的任何命令就可以直接在dos下執(zhí)行,這樣設(shè)置后就可以通過(guò)javac命令來(lái)編譯程序了(前提是程序沒(méi)錯(cuò)),接著就是通過(guò)java來(lái)執(zhí)行已經(jīng)經(jīng)過(guò)編譯得到的class文件,這是可能也會(huì)有問(wèn)題就是提示不能發(fā)現(xiàn)類之類的錯(cuò)誤,這就和classpath有關(guān)系了,classpath是來(lái)尋找class文件的如果沒(méi)有設(shè)置這個(gè)變量直接通過(guò)java來(lái)運(yùn)行程序就會(huì)出現(xiàn)這個(gè)問(wèn)題,這時(shí)也可通過(guò)上面所說(shuō)的把路徑改到j(luò)dk的lib下,但是顯然也很不方便,通過(guò)classpath也能解決這個(gè)問(wèn)題即“classpath=x:\……\jdk\lib\。.”,注意后面的分號(hào)是來(lái)分隔路徑的“.”是指的當(dāng)前路徑,為什么要指明當(dāng)前路徑呢,因?yàn)榉痔?hào)前面的是jdk的公共類庫(kù)所在路徑,而我們的程序總會(huì)用自己的類,所以程序得到的類存放的當(dāng)前路徑也要放在里面。2. 添加或更改環(huán)境變量的數(shù)值1) 在“控制面板”中打開(kāi)“系統(tǒng)”,如圖47; 圖47 配置環(huán)境變量第1步2)在“系統(tǒng)屬性”中打開(kāi)“高級(jí)”,如圖48;圖48 配置環(huán)境變量第2步3) 在“高級(jí)”選項(xiàng)卡上單擊“環(huán)境變量”,如圖49;圖49 配置環(huán)境變量第3步(4)在“環(huán)境變量”卡中的“系統(tǒng)變量”單擊“新建”并輸入變量名:Path和變量值: D:\\bin。%SystemRoot%\system32。%System
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1