![計(jì)算機(jī)網(wǎng)絡(luò)課程設(shè)計(jì)匯本論文與代碼_第1頁(yè)](http://file4.renrendoc.com/view/cfe5860b785eff2688b07b97c36289bc/cfe5860b785eff2688b07b97c36289bc1.gif)
![計(jì)算機(jī)網(wǎng)絡(luò)課程設(shè)計(jì)匯本論文與代碼_第2頁(yè)](http://file4.renrendoc.com/view/cfe5860b785eff2688b07b97c36289bc/cfe5860b785eff2688b07b97c36289bc2.gif)
![計(jì)算機(jī)網(wǎng)絡(luò)課程設(shè)計(jì)匯本論文與代碼_第3頁(yè)](http://file4.renrendoc.com/view/cfe5860b785eff2688b07b97c36289bc/cfe5860b785eff2688b07b97c36289bc3.gif)
![計(jì)算機(jī)網(wǎng)絡(luò)課程設(shè)計(jì)匯本論文與代碼_第4頁(yè)](http://file4.renrendoc.com/view/cfe5860b785eff2688b07b97c36289bc/cfe5860b785eff2688b07b97c36289bc4.gif)
![計(jì)算機(jī)網(wǎng)絡(luò)課程設(shè)計(jì)匯本論文與代碼_第5頁(yè)](http://file4.renrendoc.com/view/cfe5860b785eff2688b07b97c36289bc/cfe5860b785eff2688b07b97c36289bc5.gif)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、1 / 26目錄1. 前言 1概述 1電子發(fā)送協(xié)議與技術(shù)2SMTP 協(xié)議簡(jiǎn)介及通訊模型2javamail API的簡(jiǎn)介 2概要設(shè)計(jì)3系統(tǒng)模塊構(gòu)造5類(lèi)的功能設(shè)計(jì)5用戶登入類(lèi)5發(fā)送類(lèi) 5發(fā)送流程圖6功能模塊的實(shí)現(xiàn)7程序主界面的實(shí)現(xiàn)7發(fā)送的實(shí)現(xiàn)9程序測(cè)試11主界面測(cè)試11發(fā)送電子程序測(cè)試11參考文獻(xiàn)14附錄 1:EmailClient類(lèi) 15附 錄 2:MainSender 類(lèi) 211. 前言概述電子簡(jiǎn)稱(chēng) 又稱(chēng)電子信箱、 電子郵政, 它是一種用電子手段提供信息交換的通信方式。它是全球多種網(wǎng)絡(luò)上使用最普遍的一項(xiàng)效勞。這種非交互式的通信,加速了信息的交流及數(shù)據(jù)傳送,它是一個(gè)簡(jiǎn)易、快速的方法。通過(guò)連接全世
2、界的Internet,實(shí)現(xiàn)各類(lèi)信號(hào)的傳送、接收、 存貯等處理, 將送到世界的各個(gè)角落。到目前為止,可以說(shuō)電子是Internet資源使用最多的一種效勞,不止局限于信件的傳遞,還可用來(lái)傳遞文件、聲音及圖形、圖像等不同類(lèi)型的信息。電子不是一種“終端到終端的效勞,是被稱(chēng)為“存貯轉(zhuǎn)發(fā)式效勞。這正是電子信箱系統(tǒng)的核心, 利用存貯轉(zhuǎn)發(fā)可進(jìn)展非實(shí)時(shí)通信,屬異步通信方式。即信件發(fā)送者可隨時(shí)隨地發(fā)送, 不要求接收者同時(shí)在場(chǎng),即使對(duì)方現(xiàn)在不在,扔可將立刻送到對(duì)方的信箱,且存儲(chǔ)在對(duì)方的電子中。接收者可在他認(rèn)為方便的時(shí)候讀取信件,不受時(shí)空限制。1.2國(guó)現(xiàn)狀電子是 Internet最根本的和最重要的效勞之一。據(jù)統(tǒng)計(jì), I
3、nternet上百分之三十以上的業(yè)務(wù)量是電子。 由于我國(guó)的通訊根底設(shè)施較差,網(wǎng)絡(luò)速度較慢,因而,與Internet其它功能如、FTP、NEWS等相比,電子效勞具有更大的實(shí)用性。?CINNIC中國(guó)互聯(lián)網(wǎng)絡(luò)開(kāi)展?fàn)顩r統(tǒng)計(jì)報(bào) 告?中指出。 71.65%的中國(guó)用戶最常使用的網(wǎng)絡(luò)效勞就是電子,這個(gè)比例遠(yuǎn)遠(yuǎn)高于搜索引50.40%和軟件上傳或下載效勞44.16%等其他效勞。 PAGE 25 / 26電子發(fā)送協(xié)議與技術(shù)SMTP協(xié)議簡(jiǎn)介及通訊模型(SMTP: SimpleMailTransferProtocol)即簡(jiǎn)單傳輸協(xié)議, 它是一組用于由源地址到目的地址傳送的規(guī)那么, 由它來(lái)控制信件的中轉(zhuǎn)方式。它能夠在傳送
4、中接力傳送,傳送效勞提供了進(jìn)程間通信環(huán)境(IPCE) ,此環(huán)境可以包括一個(gè)網(wǎng)絡(luò),幾個(gè)網(wǎng)絡(luò)或一個(gè)網(wǎng)絡(luò)的子網(wǎng)。理解到傳送系統(tǒng) ( 或 IPCE) 不是一對(duì)一的是很重要的。進(jìn)程可能直接和其它進(jìn)程通過(guò)的IPCE 通信。是一個(gè)應(yīng)用程序或進(jìn)程間通信??梢酝ㄟ^(guò)連接在不同IPCE 上的進(jìn)程跨網(wǎng)絡(luò)進(jìn)展傳送。更特別的是,可以通過(guò)不同網(wǎng)絡(luò)上的主機(jī)接力式傳送。SMTP協(xié)議屬于TCP IP 協(xié)議族 , 它幫助每臺(tái)計(jì)算機(jī)在發(fā)送或中轉(zhuǎn)信件時(shí)找到下一個(gè)目的地。通過(guò) SMTP協(xié)議所指定的效勞器, 我們就可以把 E mail 寄到收信人的效勞器上了, 整個(gè)過(guò)程只要幾分鐘。SMTP效勞器那么是遵循SMTP協(xié)議的發(fā)送效勞器,用來(lái)發(fā)送
5、或中轉(zhuǎn)你發(fā)出的電子。SMTP是一種提供可靠且有效電子傳輸?shù)膮f(xié)議。SMTP是建模在FTP文件傳輸效勞上的一種效勞,主要用于傳輸系統(tǒng)之間的信息并提供來(lái)信有關(guān)的通知。SMTP獨(dú)立于特定的傳輸子系統(tǒng),而且僅要求一條可以保證傳送數(shù)據(jù)單元順序的通道且只需要可靠有序的數(shù)據(jù)流信道支持。SMTP重要特性之一是其能跨越網(wǎng)絡(luò)傳輸,即“SMTP 中繼。通常,一個(gè)網(wǎng)絡(luò)可以由公用互聯(lián)網(wǎng)上TCP 可相互訪問(wèn)的主機(jī)、 防火墻分隔的TCP/IP 網(wǎng)絡(luò)上 TCP 可相互訪問(wèn)的主機(jī),及其它LAN/WAN 中的主機(jī)利用非TCP 傳輸層協(xié)議組成。使用 SMTP ,可實(shí)現(xiàn)一樣網(wǎng)絡(luò)上處理機(jī)之間的傳輸,也可通過(guò)中繼器或網(wǎng)關(guān)實(shí)現(xiàn)某處理機(jī)與 其
6、它網(wǎng)絡(luò)之間的傳輸。在這種方式下,的發(fā)送可能經(jīng)過(guò)從發(fā)送端到接收端路徑上的大量中間中繼器或網(wǎng)關(guān)主機(jī)。域名效勞系統(tǒng)DNS的交換效勞器可以用來(lái)識(shí)別出傳輸?shù)南乱惶鳬P地址。 SMTP在傳輸文件過(guò)程中使用25 號(hào)端口可大致用下面的圖2-1 來(lái)表示:用戶文件系統(tǒng)文件系統(tǒng)SMTP 命令內(nèi)容發(fā)送 SMTP應(yīng)答接收 SMTP圖 2-1SMTP通信模型javamail API的簡(jiǎn)介一般情況下,在eclipse中,電子程序的編寫(xiě)是主要是利用Java jdk1.7擴(kuò)展包JavaMailAPI等及相關(guān)的SMTP等通信協(xié)議來(lái)實(shí)現(xiàn)的。隨著現(xiàn)代軟件業(yè)的開(kāi)展,java提供了方便、 簡(jiǎn)易、與效勞器無(wú)關(guān)且穩(wěn)固的電子處理組件,使我們可
7、以在程序開(kāi)發(fā)語(yǔ)言中調(diào)用這些 組件,利用很簡(jiǎn)單的語(yǔ)言實(shí)現(xiàn)功能強(qiáng)大的程序。JavaMail便是一個(gè)很好的電子程序開(kāi)發(fā)擴(kuò) 展組件。JavaMail API是讀取、撰寫(xiě)、發(fā)送電子信息的可選包。我們可用它來(lái)建立如Eudora 、Foxmail 、MS Outlook Express一般的用戶代理程序Mail User Agent,簡(jiǎn)稱(chēng) MUA。而不是像 sendmail或者其它的傳輸代理Mail Transfer Agent,簡(jiǎn)稱(chēng) MTA程序那樣可以傳送、 遞送、 轉(zhuǎn)發(fā)。從另外一個(gè)角度來(lái)看,我們這些電子用戶日常用MUA程序來(lái)讀寫(xiě),而MUA依賴(lài)著 MTA處理的遞送。JavaMail核心類(lèi): Session
8、 、Message、Address 、Authenticator、Transport、Store 、Folder 。Session類(lèi):定義了根本的會(huì)話。就像Http會(huì)話那樣,我們進(jìn)展收發(fā)的工作都是基于這個(gè)會(huì)話的。 Session對(duì)象利用了java.util.Properties對(duì)象獲得了效勞器、用戶名、密碼信息和整個(gè)應(yīng)用程序都要使用到的共享信息。Message 類(lèi):當(dāng)我們建立了Session 對(duì)象后, 便可以被發(fā)送的構(gòu)造信息體了。在這里 SUN 提供了 Message 類(lèi)型來(lái)幫助開(kāi)發(fā)者完成這項(xiàng)工作。由于 Message 是一個(gè)抽象類(lèi), 大多數(shù)情況下,我們使用ernet.MimeMessage這
9、個(gè)子類(lèi),該類(lèi)是使用MIME類(lèi)型、 MIME 信息頭的信息。信息頭只能使用US-ASCII 字符,而非ASCII 字符將通過(guò)編碼轉(zhuǎn)換為ASCII 的方式使用。Address 類(lèi):到這里,我們已經(jīng)建立了Session和 Message,下面將介紹如何使用地址類(lèi) : Address 。 像Message 一 樣 , Address類(lèi) 也 是 一 個(gè) 抽 象 類(lèi) , 所 以 我 們 將 使 用ernet.InternetAddress這個(gè)子類(lèi)。Authenticator類(lèi) : 像類(lèi) 那 樣 , JavaMailAPI通 過(guò) 使 用 授 權(quán) 者 類(lèi)Authenticator以用戶名、密碼的方式訪問(wèn)那些受
10、到保護(hù)的資源,在這里“資源就是指效勞器。在javax.mail包中可以找到這個(gè)JavaMail的授權(quán)者類(lèi) Authenticator。Transport類(lèi):在發(fā)送信息時(shí),Transport類(lèi)將被用到。這個(gè)類(lèi)實(shí)現(xiàn)了發(fā)送信息的協(xié)議通稱(chēng)為SMTP,此類(lèi)是一個(gè)抽象類(lèi),我們可以使用這個(gè)類(lèi)的靜態(tài)方法send() 來(lái)發(fā)送消息:Transport.send(message);Store和 Folder類(lèi): 接收和發(fā)送很類(lèi)似都要用到Session 。但是在獲得Session 后, 我們需要從Session中獲取特定類(lèi)型的Store ,然后連接到Store ,這里的Store代表了存儲(chǔ)的效勞器。在連接Store的
11、過(guò)程中,極有可能需要用到用戶名、密碼或者Authenticator。概要設(shè)計(jì)系統(tǒng)的總體構(gòu)造框圖類(lèi)圖EmailClinet填 寫(xiě) 發(fā) 件 人 和 收件 人 地 址 , 標(biāo) 題 , 正文 , 附件,EmailSender在程序中綁定發(fā) 件人, 收件人地址 , 標(biāo)題, 正文 , 附件Properties PasswordAuthentication使用的pop和 stmp效勞器以及將賬號(hào)密碼進(jìn)展登陸驗(yàn)證有多個(gè)目的地址只 有 一 個(gè)目的地址有附件驗(yàn)證成功后, 根據(jù)所填寫(xiě)的地址, 每間隔一秒 .將發(fā)送到各個(gè)目的驗(yàn)證成功后 ,根據(jù)所填寫(xiě)的地址 ,將發(fā)送到目的驗(yàn)證成功后,自動(dòng)填寫(xiě)附件名 ,將附件封包 ,根據(jù)
12、所填寫(xiě)的地址,將發(fā)送到目的catch (Exception e) 檢查錯(cuò)誤 ,.如有錯(cuò)誤,提交織誤報(bào)告圖 3-1 系統(tǒng)的總體構(gòu)造框圖每份電子的發(fā)送都要涉及到發(fā)送方與接收方,發(fā)送方式構(gòu)成客戶端,而接收方構(gòu)成效勞器。發(fā)送方通過(guò)客戶程序,將編輯好的電子向郵局效勞器SMTP效勞器發(fā)送。郵局效勞器識(shí)別接收者的地址,并向管理該地址的效勞器POP3效勞器發(fā)送消息。我使用新浪免 費(fèi)提供的POP效勞 , 直接使用注冊(cè)的賬號(hào)密碼登陸效勞器向目的地址發(fā)送。POP協(xié)議具體過(guò)程是: 發(fā)送到效勞器上,電子客戶端調(diào)用客戶機(jī)程序以連接效勞器,并下載所有未閱讀的電子。這種離線訪問(wèn)模式是一種存儲(chǔ)轉(zhuǎn)發(fā)效勞,將從效勞器端送到個(gè)人終端
13、機(jī)器上,一般是 PC機(jī)或 MAC。一旦發(fā)送到PC 機(jī)或 MAC 上,效勞器上的將會(huì)被刪除。系統(tǒng)模塊構(gòu)造電子客戶端主要由以下兩個(gè)模塊構(gòu)成:發(fā)送模塊、 用戶登入。 其功能模塊如圖2-1 所示:電子發(fā)送端程序用發(fā)戶送登入圖 3-2系統(tǒng)功能模塊圖1用戶登入:當(dāng)跟密碼正確的時(shí)候才可以登入進(jìn)去。2發(fā)送模塊:正文寫(xiě)好后然后點(diǎn)發(fā)送。類(lèi)的功能設(shè)計(jì)用戶登入類(lèi)關(guān)鍵變量:private JPanel mailPanel = newJPanel(); private JPanel passwordPanel=new JPanel(); private JPanel mailLoginPanel; privateoBox
14、oBox;private JLabel maitLabel; private JLabel mailPasswordLable; private JTextField mailText;private JPasswordField passwordText;。關(guān)鍵方法:String mail=mailText.getText();String password=passwordText.getText();發(fā)送類(lèi)關(guān)鍵變量:private JLabel subject;/主題private JLabel mainContent;/正文private JLabel address;/目的priva
15、te JTextField subjectText;private JTextArea contentText; private JTextArea addText; private JPanel subjectPanel; private JPanel contentPanel; private JPanel addressPanel; private utton sendButton; private utton sendSuccess; private utton sendAgain;關(guān)鍵方法:public static void send(String mail,String pass
16、word,String receivers, String subject, String mailContent, String mimetype)send(receivers, subject, mailContent, mimetype);public static void send(String receiver, String subject, String mailContent, String mimetype) send(new Stringreceiver, subject, mailContent, mimetype);public static void send(St
17、ring receivers, String subject, String mailContent, String mimetype) send(receivers, subject, mailContent, null, mimetype);發(fā)送流程圖發(fā)送流程圖如圖3-4 ,發(fā)送時(shí)會(huì)對(duì)以及賬號(hào)進(jìn)展處理和驗(yàn)證。當(dāng)賬號(hào)跟密碼都符合的時(shí)候,然后點(diǎn)擊發(fā)送,就發(fā)出去了。假設(shè)賬號(hào)跟密碼不正確的話,就發(fā)送失敗。密碼發(fā)送密碼正確密碼不正確發(fā)送成功發(fā)送失敗圖 3-4發(fā)送流程圖功能模塊的實(shí)現(xiàn)程序主界面的實(shí)現(xiàn)本次設(shè)計(jì)中 , 主要用到對(duì)話框Java 圖形界面。 Java 圖形界面是實(shí)現(xiàn)應(yīng)用程序人機(jī)交互的重要組成局
18、部。它不但可以實(shí)現(xiàn)數(shù)據(jù)流的輸入和輸出,而且也可以移動(dòng)和關(guān)閉對(duì)話框。主界面有對(duì)應(yīng)的按鈕,方便用戶使用。關(guān)鍵代碼如下:首先構(gòu)造客戶端面板, 定義以下幾個(gè)需要的界面和按鈕maitLabel=new JLabel(); mailPasswordLable=new JLabel(密碼); subject=new JLabel(主題 );mainContent=new JLabel(正文);address=new JLabel(目的 );sendButton=new utton(發(fā)送 );其次將其安排到客戶端面板上相應(yīng)位置container.add(mailLoginPanel,BorderLayout.
19、NORTH);container.add(contentPanel,BorderLayout.CENTER);container.add(addressPanel,BorderLayout.SOUTH);設(shè)置面板背景顏色contentPanel.setBackground(Color.yellow);addressPanel.setBackground(Color.yellow);發(fā)送的實(shí)現(xiàn)圖 4-1程序主界面實(shí)現(xiàn)圖首先進(jìn)入主界面,在主界面輸入、密碼、主題、正文和目的,然后點(diǎn)發(fā)送,假設(shè)賬號(hào)跟密碼都正確的話就可以發(fā)送,否那么就發(fā)送不成功,如下圖。1獲取收件人賬號(hào)程序會(huì)檢測(cè)輸入賬號(hào)合法性。關(guān)鍵代碼
20、:String mail=mailText.getText();String password=passwordText.getText();/ SMTP 效勞器需要驗(yàn)證:props.put(mail.smtp.host, smtp.sina.);/Smtp props.put(mail.smtp.auth, true);獲取賬號(hào)設(shè)置界面中用戶輸入的賬號(hào)和密碼傳入效勞器。關(guān)鍵代碼:/傳入用戶名和口令:Session session = Session.getDefaultInstance(props, new Authenticator() protected PasswordAuthenti
21、cation getPasswordAuthentication() return new PasswordAuthentication(wangxy070421sina.,880722); session.setDebug(true);發(fā)送成功的提示關(guān)鍵代碼:sendSuccess=new utton(發(fā)送成功! ); sendSuccess.setBackground(Color.red); sendSuccess.setVisible(false);圖 4-2發(fā)送的實(shí)現(xiàn)圖程序測(cè)試主界面測(cè)試本次設(shè)計(jì)中 , 主要用到對(duì)話框Java 圖形界面。 Java 圖形界面是實(shí)現(xiàn)應(yīng)用程序人機(jī)交互的重要組
22、成局部。它不但可以實(shí)現(xiàn)數(shù)據(jù)流的輸入和輸出,而且也可以移動(dòng)和關(guān)閉對(duì)話框。主界面有對(duì)應(yīng)的按鈕,方便用戶使用,如下圖。發(fā)送電子程序測(cè)試圖 5-1 主界面測(cè)試在上一步已經(jīng)測(cè)試了賬號(hào)輸入,然后再收件人地址輸入框中輸入“ yuhui126. 。接下來(lái)在主題輸入框中輸入“測(cè)試,正文中輸入 “ 測(cè)試 余輝 1008041113 ,最后點(diǎn)擊發(fā)送,當(dāng)發(fā)送成功會(huì)在發(fā)送旁邊返回“發(fā)送成功的信息。如圖為測(cè)試發(fā)送成功。圖 5-2 a發(fā)送電子程序測(cè)試面圖 5-2 b發(fā)送電子程序測(cè)試面總結(jié)這次課程設(shè)計(jì)我做的是發(fā)送程序, 我主要利用java 語(yǔ)言和 MyEclipse工具來(lái)實(shí)現(xiàn)的幾個(gè)主要功能 , 包括標(biāo)題 , 正文, 附件以及
23、多方發(fā)送等, 通過(guò)自我學(xué)習(xí), 以及在教師的輔導(dǎo)下順利實(shí)現(xiàn)使用代碼發(fā)送功能. 完成一次從理論向?qū)嵺`的過(guò)程, 找到了一些自己在平時(shí)學(xué)習(xí)中的缺乏和問(wèn)題 .由于程序?qū)嵭休^為復(fù)雜, 所以應(yīng)該在一開(kāi)場(chǎng)時(shí)做好規(guī)劃, 畫(huà)好流程圖 , 做好大體框架, 然后再逐一細(xì)化 , 再把各個(gè)模塊聯(lián)系起來(lái). 一定要做好步步扎實(shí), 否那么容易因?yàn)槔绶庋b問(wèn)題等造成的混亂 總體實(shí)行流程是寫(xiě)好容通過(guò)兩種協(xié)議,即SMTP(SimpleMailTransfer Protocol ,簡(jiǎn)單傳輸協(xié)議) 和 POP3(Post Office Protocol ,郵局協(xié)議3), 使用實(shí)現(xiàn)注冊(cè)好的賬號(hào)和密碼進(jìn)展登陸和驗(yàn)證驗(yàn)證成功后 ,將之前寫(xiě)好的
24、通過(guò)效勞器發(fā)送到目的地址發(fā)送成功 ,否那么返回錯(cuò)誤報(bào)告這次課程設(shè)計(jì)也激發(fā)了我今后努力學(xué)習(xí)的興趣,我想這將對(duì)我以后的學(xué)習(xí)產(chǎn)生積極的影 響。另外在課程設(shè)計(jì)的過(guò)程中,當(dāng)我們碰到不明白的問(wèn)題時(shí),指導(dǎo)教師總是耐心的講解,給 我們的設(shè)計(jì)以極大的幫助,使我們獲益匪淺。因此非常感教師的教誨。通過(guò)這次設(shè)計(jì), 我懂得了學(xué)習(xí)的重要性,了解到理論知識(shí)與實(shí)踐相結(jié)合的重要意義,學(xué)會(huì)了堅(jiān)持、耐心和努力,這將為自己今后的學(xué)習(xí)和工作做出了最好的典范。我覺(jué)得作為一名網(wǎng)絡(luò)工程專(zhuān)業(yè)的學(xué)生,這次課程設(shè)計(jì)是很有意義的。更重要的是如何把自己平時(shí)所學(xué)的東西應(yīng)用到實(shí)際中??恐@一個(gè)多禮拜的“學(xué)習(xí),在教師同學(xué)的幫助和講解下,自己開(kāi)場(chǎng)主動(dòng)學(xué)習(xí)并逐
25、步從根底慢慢開(kāi)場(chǎng)弄懂它。在這次課程設(shè)計(jì)作業(yè)的過(guò)程中由于在設(shè)計(jì)方面我缺少經(jīng)歷,理論根底知識(shí)掌握得不結(jié)實(shí),在設(shè)計(jì)中難免會(huì)出現(xiàn)這樣那樣的問(wèn)題,如:確定設(shè)計(jì)方案時(shí),在附件名選擇模塊中“卡住了, 再次,在一些細(xì)節(jié)方面比擬薄弱,出錯(cuò)檢測(cè)模塊, 效勞器驗(yàn)證等方面都遇到了困難,在同學(xué)的幫助下逐步解決了。這些都暴露出了前期我在這些方面知識(shí)的欠缺和經(jīng)歷的缺乏。對(duì)于我來(lái)說(shuō), 收獲最大的是方法和能力;那些分析和解決問(wèn)題的能力。在整個(gè)課程設(shè)計(jì)的過(guò)程中, 我發(fā)現(xiàn)我在經(jīng)歷方面十分缺乏,有時(shí)候空有理論知識(shí),沒(méi)有理性的知識(shí);有些東西可 能與實(shí)際脫節(jié)。 總體來(lái)說(shuō), 我覺(jué)得像課程設(shè)計(jì)這種類(lèi)型對(duì)我們的幫助還是很大的,它需要我們將學(xué)過(guò)
26、的相關(guān)知識(shí)系統(tǒng)地聯(lián)系起來(lái),從中暴露出自身的缺乏,以待改良!致感我的指導(dǎo)教師濤教師,本次論文的每個(gè)細(xì)節(jié)和每個(gè)數(shù)據(jù),都離不開(kāi)他的細(xì)心指導(dǎo)。教師嚴(yán)謹(jǐn)細(xì)致、 一絲不茍的作風(fēng)一直是我工作、學(xué)習(xí)中的典范; 他循循善誘的教誨和不拘一格的思路給予我無(wú)盡的啟迪。無(wú)論在理論上還是在實(shí)踐中,教師都給了我很大的幫助,使我得到不少的提高這對(duì)于我以后的工作和學(xué)習(xí)都有一種巨大的幫助。另外, 在系統(tǒng)開(kāi)發(fā)過(guò)程中同學(xué)也給予我很大的幫助,幫助解決了不少的難點(diǎn),使得系統(tǒng)能及時(shí)開(kāi)發(fā)完成,這里一并表示感。在論文即將完成之際,我的心情無(wú)法平靜,從開(kāi)場(chǎng)進(jìn)入課題到論文的順利完成,有許多可敬的師長(zhǎng)、同學(xué)、朋友給了我無(wú)私的幫助,在這里請(qǐng)承受我誠(chéng)摯
27、的意!最后祝各位教師工作順利、身體安康!參考文獻(xiàn)希仁 . 計(jì)算機(jī)網(wǎng)絡(luò) . 第五版 M. :電子工業(yè), 2008.1耿祥義,躍平.Java大學(xué)實(shí)用教程. 第二版 M.:電子工業(yè), 2005.5王勇,代桂平. 計(jì)算機(jī)網(wǎng)絡(luò)課程設(shè)計(jì)M. :清華大學(xué),2009.6耿祥義,躍平.Java大學(xué)實(shí)用教程學(xué)習(xí)指導(dǎo). 第二版 M.:電子工業(yè), 2005.55.(美) 埃史爾.Java編程思想 ( 第 4 版).機(jī)械工業(yè) .2007海山 . 深入 Java Servlet網(wǎng)絡(luò)編程 M . :清華大學(xué),2002.2Karl Moss.Java Servlet開(kāi)發(fā)人員指南M . :清華大學(xué), 2002Liang, Y.
28、D. Java語(yǔ)言程序設(shè)計(jì)根底篇. 機(jī)械工業(yè) ,2006曉華 .精通 Java 核心技術(shù) . 電子工業(yè) ,2003附錄 1: EmailClient類(lèi)功能:該類(lèi)是實(shí)現(xiàn)系統(tǒng)界面的類(lèi)。import java.awt.BorderLayout; import java.awt.Color;import java.awt.Container; import java.awt.FlowLayout; import java.awt.Font;import java.awt.GridLayout;import java.awt.event.ActionEvent; import java.awt.even
29、t.ActionListener; import javax.swing.utton;import javax.swing.oBox; import javax.swing.Jponent; import javax.swing.JFrame;import javax.swing.JInternalFrame;import javax.swing.JLabel; import javax.swing.JPanel;import javax.swing.JPasswordField; import javax.swing.JTextArea; import javax.swing.JTextFi
30、eld;public class EmailClient extends JFrame private JLabel subject;/主題private JLabel mainContent;/正文private JLabel fujian;/附件private JLabel address;/目的private JTextField subjectText; private JTextArea contentText; private JTextArea addText;private JPanel subjectPanel; private JPanel contentPanel; pr
31、ivate JPanel addressPanel; private utton sendButton; private utton sendSuccess; private utton sendAgain;/ 發(fā)送者和密碼private JPanel mailPanel = new JPanel(); private JPanel passwordPanel=new JPanel(); private JPanel mailLoginPanel;private oBox oBox; private JLabel maitLabel;private JLabel mailPasswordLab
32、le; private JTextField mailText;private JPasswordField passwordText;/ 構(gòu)造方法public EmailClient()super(群 發(fā) 器 ); this.setSize(550, 600);/ 獲取面板Container container=getContentPane();/ 發(fā)件人maitLabel=new JLabel(); mailPasswordLable=new JLabel(密碼); mailText=new JTextField(10); passwordText=new JPasswordField(1
33、0);mailLoginPanel=new JPanel(); mailLoginPanel.setBackground(Color.yellow); mailLoginPanel.setLayout(new GridLayout(3,4); mailLoginPanel.add(mailPanel); mailLoginPanel.add(passwordPanel);/ 主題subject=new JLabel(主 題 ); subjectText=new JTextField(, 10); subjectPanel=new JPanel(new FlowLayout(); subject
34、Panel.add(subject);subjectPanel.add(subjectText); mailLoginPanel.add(new JLabel(); mailLoginPanel.add(maitLabel); mailLoginPanel.add(mailText); mailLoginPanel.add(new JLabel(); mailLoginPanel.add(new JLabel(); mailLoginPanel.add(mailPasswordLable); mailLoginPanel.add(passwordText); mailLoginPanel.ad
35、d(new JLabel(); mailLoginPanel.add(new JLabel(); mailLoginPanel.add(subject); mailLoginPanel.add(subjectText); mailLoginPanel.add(new JLabel();/ 正文mainContent=new JLabel(正 文 ); contentText=new JTextArea(18,23); contentText.setFont(new Font(Serif,Font.PLAIN,14); contentText.setLineWrap(true);contentT
36、ext.setEditable(true); contentPanel=new JPanel(); contentPanel.add(mainContent); contentPanel.add(contentText);/ 目的address=new JLabel(目的 ); addText=new JTextArea(5,25); addressPanel=new JPanel();/ 發(fā)送成功提示sendSuccess=new utton(發(fā)送成功! ); sendSuccess.setBackground(Color.red);sendSuccess.setVisible(false)
37、;/ 重新發(fā)送sendAgain=new utton(再寫(xiě)一封 ); Handler handler=new Handler(); sendAgain.addActionListener(handler); sendAgain.setBackground(Color.blue); sendAgain.setVisible(false);/ 發(fā)送按鈕sendButton=new utton(發(fā) 送 ); sendButton.addActionListener(handler); addressPanel.add(sendSuccess,BorderLayout.NORTH); addressP
38、anel.add(sendAgain,BorderLayout.NORTH);addressPanel.add(address,BorderLayout.SOUTH); addressPanel.add(addText,BorderLayout.SOUTH); addressPanel.add(sendButton,BorderLayout.SOUTH);/ 設(shè)置底板顏色subjectPanel.setBackground(Color.yellow); contentPanel.setBackground(Color.yellow); addressPanel.setBackground(Co
39、lor.yellow);/ 將組件添加到面板上container.add(mailLoginPanel,BorderLayout.NORTH); container.add(contentPanel,BorderLayout.CENTER); container.add(addressPanel,BorderLayout.SOUTH); setVisible(true); setDefaultCloseOperation(EXIT_ON_CLOSE);/ 綁定事件private class Handler implements ActionListener public void action
40、Performed(ActionEvent e) / TODO Auto-generated method stub;if(e.getSource()=sendButton)/ 獲取容Thread2 t=new Thread2(); t.start();else if(e.getSource()=sendAgain)subjectText.setText(); contentText.setText(); sendSuccess.setVisible(false); sendAgain.setVisible(false);public static void main(String args)
41、 EmailClient emailClient=new EmailClient(); System.out.println(sdsdf);class Thread2 extends Thread public void run()String subject=subjectText.getText(); String content=contentText.getText(); String address=addText.getText(); String mail=mailText.getText();String password=passwordText.getText(); if(
42、address!=null)String adds=address.split(;);EmailSender.send(mail,password,adds, subject, content,text/html);/ 發(fā)送完畢sendSuccess.setVisible(true); sendAgain.setVisible(true); System.out.println(發(fā)送完畢! );elseaddText.setText(沒(méi)有寫(xiě)地址地址);附錄2: MainSender類(lèi)功能:實(shí)現(xiàn)發(fā)送等主要功能import java.io.File;import java.text.SimpleD
43、ateFormat; import java.util.Date;import java.util.Properties;import javax.activation.DataHandler; import javax.activation.FileDataSource; import javax.mail.Authenticator;import javax.mail.Message; import javax.mail.Multipart;import javax.mail.PasswordAuthentication; import javax.mail.Session;import
44、javax.mail.Transport;import ernet.InternetAddress; import ernet.MimeBodyPart; import ernet.MimeMessage; import ernet.MimeMultipart; import ernet.MimeUtility; import javax.swing.plaf.SliderUI;public class EmailSender private static final String charset = GBK;private static final String defaultMimetyp
45、e = text/plain; public static void main(String args) throws Exception /EmailSender.send(new Stringwp0905070417163., , ,null ,text/html);sendByoneSecond(new Stringyuhui126., , ,null , text/html);/*每隔 1秒發(fā)送一個(gè)封author weiping*/public static void sendByoneSecond(String adds,String title,Stringcontent,File files,String contentType) if(adds!=
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 施工項(xiàng)目合同糾紛處理制度
- 施工日志填寫(xiě)樣本建筑物消防設(shè)施工程
- 教師招聘語(yǔ)文面試唐詩(shī)三首教學(xué)設(shè)計(jì)
- 兩位好友合作經(jīng)營(yíng)店鋪合同模板
- 個(gè)人與個(gè)人借款合同范本
- 中外合資企業(yè)采購(gòu)合同中英文對(duì)照
- 中外合資經(jīng)營(yíng)企業(yè)合同(適用于零售連鎖業(yè)務(wù))
- 個(gè)人二手房交易合同擔(dān)保協(xié)議書(shū)
- 專(zhuān)利交易合同協(xié)議
- 個(gè)人向企業(yè)借款合同樣板
- 小學(xué)生作文方格紙A4紙直接打印版
- 老人心理特征和溝通技巧
- 幼兒阿拉伯?dāng)?shù)字描紅(0-100)打印版
- 標(biāo)桿地產(chǎn)集團(tuán) 研發(fā)設(shè)計(jì) 工程管理 品質(zhì)地庫(kù)標(biāo)準(zhǔn)研發(fā)成果V1.0
- TMS開(kāi)發(fā)業(yè)務(wù)需求文檔
- 2023年1月浙江高考英語(yǔ)聽(tīng)力試題及答案(含MP3+錄音原文)
- HI-IPDV10芯片產(chǎn)品開(kāi)發(fā)流程V10宣課件
- 房產(chǎn)抵押注銷(xiāo)申請(qǐng)表
- 【課件】第三課 蒙娜麗莎 課件高中美術(shù)湘美版美術(shù)鑒賞
- 象數(shù)療法好療效
- A320系列飛行訓(xùn)練課程:電子飛行儀表系統(tǒng)概況
評(píng)論
0/150
提交評(píng)論