版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
1、1 / 26目錄1. 前言 1概述 1電子發(fā)送協(xié)議與技術(shù)2SMTP 協(xié)議簡介及通訊模型2javamail API的簡介 2概要設計3系統(tǒng)模塊構(gòu)造5類的功能設計5用戶登入類5發(fā)送類 5發(fā)送流程圖6功能模塊的實現(xiàn)7程序主界面的實現(xiàn)7發(fā)送的實現(xiàn)9程序測試11主界面測試11發(fā)送電子程序測試11參考文獻14附錄 1:EmailClient類 15附 錄 2:MainSender 類 211. 前言概述電子簡稱 又稱電子信箱、 電子郵政, 它是一種用電子手段提供信息交換的通信方式。它是全球多種網(wǎng)絡上使用最普遍的一項效勞。這種非交互式的通信,加速了信息的交流及數(shù)據(jù)傳送,它是一個簡易、快速的方法。通過連接全世
2、界的Internet,實現(xiàn)各類信號的傳送、接收、 存貯等處理, 將送到世界的各個角落。到目前為止,可以說電子是Internet資源使用最多的一種效勞,不止局限于信件的傳遞,還可用來傳遞文件、聲音及圖形、圖像等不同類型的信息。電子不是一種“終端到終端的效勞,是被稱為“存貯轉(zhuǎn)發(fā)式效勞。這正是電子信箱系統(tǒng)的核心, 利用存貯轉(zhuǎn)發(fā)可進展非實時通信,屬異步通信方式。即信件發(fā)送者可隨時隨地發(fā)送, 不要求接收者同時在場,即使對方現(xiàn)在不在,扔可將立刻送到對方的信箱,且存儲在對方的電子中。接收者可在他認為方便的時候讀取信件,不受時空限制。1.2國現(xiàn)狀電子是 Internet最根本的和最重要的效勞之一。據(jù)統(tǒng)計, I
3、nternet上百分之三十以上的業(yè)務量是電子。 由于我國的通訊根底設施較差,網(wǎng)絡速度較慢,因而,與Internet其它功能如、FTP、NEWS等相比,電子效勞具有更大的實用性。?CINNIC中國互聯(lián)網(wǎng)絡開展狀況統(tǒng)計報 告?中指出。 71.65%的中國用戶最常使用的網(wǎng)絡效勞就是電子,這個比例遠遠高于搜索引50.40%和軟件上傳或下載效勞44.16%等其他效勞。 PAGE 25 / 26電子發(fā)送協(xié)議與技術(shù)SMTP協(xié)議簡介及通訊模型(SMTP: SimpleMailTransferProtocol)即簡單傳輸協(xié)議, 它是一組用于由源地址到目的地址傳送的規(guī)那么, 由它來控制信件的中轉(zhuǎn)方式。它能夠在傳送
4、中接力傳送,傳送效勞提供了進程間通信環(huán)境(IPCE) ,此環(huán)境可以包括一個網(wǎng)絡,幾個網(wǎng)絡或一個網(wǎng)絡的子網(wǎng)。理解到傳送系統(tǒng) ( 或 IPCE) 不是一對一的是很重要的。進程可能直接和其它進程通過的IPCE 通信。是一個應用程序或進程間通信??梢酝ㄟ^連接在不同IPCE 上的進程跨網(wǎng)絡進展傳送。更特別的是,可以通過不同網(wǎng)絡上的主機接力式傳送。SMTP協(xié)議屬于TCP IP 協(xié)議族 , 它幫助每臺計算機在發(fā)送或中轉(zhuǎn)信件時找到下一個目的地。通過 SMTP協(xié)議所指定的效勞器, 我們就可以把 E mail 寄到收信人的效勞器上了, 整個過程只要幾分鐘。SMTP效勞器那么是遵循SMTP協(xié)議的發(fā)送效勞器,用來發(fā)送
5、或中轉(zhuǎn)你發(fā)出的電子。SMTP是一種提供可靠且有效電子傳輸?shù)膮f(xié)議。SMTP是建模在FTP文件傳輸效勞上的一種效勞,主要用于傳輸系統(tǒng)之間的信息并提供來信有關(guān)的通知。SMTP獨立于特定的傳輸子系統(tǒng),而且僅要求一條可以保證傳送數(shù)據(jù)單元順序的通道且只需要可靠有序的數(shù)據(jù)流信道支持。SMTP重要特性之一是其能跨越網(wǎng)絡傳輸,即“SMTP 中繼。通常,一個網(wǎng)絡可以由公用互聯(lián)網(wǎng)上TCP 可相互訪問的主機、 防火墻分隔的TCP/IP 網(wǎng)絡上 TCP 可相互訪問的主機,及其它LAN/WAN 中的主機利用非TCP 傳輸層協(xié)議組成。使用 SMTP ,可實現(xiàn)一樣網(wǎng)絡上處理機之間的傳輸,也可通過中繼器或網(wǎng)關(guān)實現(xiàn)某處理機與 其
6、它網(wǎng)絡之間的傳輸。在這種方式下,的發(fā)送可能經(jīng)過從發(fā)送端到接收端路徑上的大量中間中繼器或網(wǎng)關(guān)主機。域名效勞系統(tǒng)DNS的交換效勞器可以用來識別出傳輸?shù)南乱惶鳬P地址。 SMTP在傳輸文件過程中使用25 號端口可大致用下面的圖2-1 來表示:用戶文件系統(tǒng)文件系統(tǒng)SMTP 命令內(nèi)容發(fā)送 SMTP應答接收 SMTP圖 2-1SMTP通信模型javamail API的簡介一般情況下,在eclipse中,電子程序的編寫是主要是利用Java jdk1.7擴展包JavaMailAPI等及相關(guān)的SMTP等通信協(xié)議來實現(xiàn)的。隨著現(xiàn)代軟件業(yè)的開展,java提供了方便、 簡易、與效勞器無關(guān)且穩(wěn)固的電子處理組件,使我們可
7、以在程序開發(fā)語言中調(diào)用這些 組件,利用很簡單的語言實現(xiàn)功能強大的程序。JavaMail便是一個很好的電子程序開發(fā)擴 展組件。JavaMail API是讀取、撰寫、發(fā)送電子信息的可選包。我們可用它來建立如Eudora 、Foxmail 、MS Outlook Express一般的用戶代理程序Mail User Agent,簡稱 MUA。而不是像 sendmail或者其它的傳輸代理Mail Transfer Agent,簡稱 MTA程序那樣可以傳送、 遞送、 轉(zhuǎn)發(fā)。從另外一個角度來看,我們這些電子用戶日常用MUA程序來讀寫,而MUA依賴著 MTA處理的遞送。JavaMail核心類: Session
8、 、Message、Address 、Authenticator、Transport、Store 、Folder 。Session類:定義了根本的會話。就像Http會話那樣,我們進展收發(fā)的工作都是基于這個會話的。 Session對象利用了java.util.Properties對象獲得了效勞器、用戶名、密碼信息和整個應用程序都要使用到的共享信息。Message 類:當我們建立了Session 對象后, 便可以被發(fā)送的構(gòu)造信息體了。在這里 SUN 提供了 Message 類型來幫助開發(fā)者完成這項工作。由于 Message 是一個抽象類, 大多數(shù)情況下,我們使用ernet.MimeMessage這
9、個子類,該類是使用MIME類型、 MIME 信息頭的信息。信息頭只能使用US-ASCII 字符,而非ASCII 字符將通過編碼轉(zhuǎn)換為ASCII 的方式使用。Address 類:到這里,我們已經(jīng)建立了Session和 Message,下面將介紹如何使用地址類 : Address 。 像Message 一 樣 , Address類 也 是 一 個 抽 象 類 , 所 以 我 們 將 使 用ernet.InternetAddress這個子類。Authenticator類 : 像類 那 樣 , JavaMailAPI通 過 使 用 授 權(quán) 者 類Authenticator以用戶名、密碼的方式訪問那些受
10、到保護的資源,在這里“資源就是指效勞器。在javax.mail包中可以找到這個JavaMail的授權(quán)者類 Authenticator。Transport類:在發(fā)送信息時,Transport類將被用到。這個類實現(xiàn)了發(fā)送信息的協(xié)議通稱為SMTP,此類是一個抽象類,我們可以使用這個類的靜態(tài)方法send() 來發(fā)送消息:Transport.send(message);Store和 Folder類: 接收和發(fā)送很類似都要用到Session 。但是在獲得Session 后, 我們需要從Session中獲取特定類型的Store ,然后連接到Store ,這里的Store代表了存儲的效勞器。在連接Store的
11、過程中,極有可能需要用到用戶名、密碼或者Authenticator。概要設計系統(tǒng)的總體構(gòu)造框圖類圖EmailClinet填 寫 發(fā) 件 人 和 收件 人 地 址 , 標 題 , 正文 , 附件,EmailSender在程序中綁定發(fā) 件人, 收件人地址 , 標題, 正文 , 附件Properties PasswordAuthentication使用的pop和 stmp效勞器以及將賬號密碼進展登陸驗證有多個目的地址只 有 一 個目的地址有附件驗證成功后, 根據(jù)所填寫的地址, 每間隔一秒 .將發(fā)送到各個目的驗證成功后 ,根據(jù)所填寫的地址 ,將發(fā)送到目的驗證成功后,自動填寫附件名 ,將附件封包 ,根據(jù)
12、所填寫的地址,將發(fā)送到目的catch (Exception e) 檢查錯誤 ,.如有錯誤,提交織誤報告圖 3-1 系統(tǒng)的總體構(gòu)造框圖每份電子的發(fā)送都要涉及到發(fā)送方與接收方,發(fā)送方式構(gòu)成客戶端,而接收方構(gòu)成效勞器。發(fā)送方通過客戶程序,將編輯好的電子向郵局效勞器SMTP效勞器發(fā)送。郵局效勞器識別接收者的地址,并向管理該地址的效勞器POP3效勞器發(fā)送消息。我使用新浪免 費提供的POP效勞 , 直接使用注冊的賬號密碼登陸效勞器向目的地址發(fā)送。POP協(xié)議具體過程是: 發(fā)送到效勞器上,電子客戶端調(diào)用客戶機程序以連接效勞器,并下載所有未閱讀的電子。這種離線訪問模式是一種存儲轉(zhuǎn)發(fā)效勞,將從效勞器端送到個人終端
13、機器上,一般是 PC機或 MAC。一旦發(fā)送到PC 機或 MAC 上,效勞器上的將會被刪除。系統(tǒng)模塊構(gòu)造電子客戶端主要由以下兩個模塊構(gòu)成:發(fā)送模塊、 用戶登入。 其功能模塊如圖2-1 所示:電子發(fā)送端程序用發(fā)戶送登入圖 3-2系統(tǒng)功能模塊圖1用戶登入:當跟密碼正確的時候才可以登入進去。2發(fā)送模塊:正文寫好后然后點發(fā)送。類的功能設計用戶登入類關(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ā)送類關(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ā)送時會對以及賬號進展處理和驗證。當賬號跟密碼都符合的時候,然后點擊發(fā)送,就發(fā)出去了。假設賬號跟密碼不正確的話,就發(fā)送失敗。密碼發(fā)送密碼正確密碼不正確發(fā)送成功發(fā)送失敗圖 3-4發(fā)送流程圖功能模塊的實現(xiàn)程序主界面的實現(xiàn)本次設計中 , 主要用到對話框Java 圖形界面。 Java 圖形界面是實現(xiàn)應用程序人機交互的重要組成局
18、部。它不但可以實現(xiàn)數(shù)據(jù)流的輸入和輸出,而且也可以移動和關(guān)閉對話框。主界面有對應的按鈕,方便用戶使用。關(guān)鍵代碼如下:首先構(gòu)造客戶端面板, 定義以下幾個需要的界面和按鈕maitLabel=new JLabel(); mailPasswordLable=new JLabel(密碼); subject=new JLabel(主題 );mainContent=new JLabel(正文);address=new JLabel(目的 );sendButton=new utton(發(fā)送 );其次將其安排到客戶端面板上相應位置container.add(mailLoginPanel,BorderLayout.
19、NORTH);container.add(contentPanel,BorderLayout.CENTER);container.add(addressPanel,BorderLayout.SOUTH);設置面板背景顏色contentPanel.setBackground(Color.yellow);addressPanel.setBackground(Color.yellow);發(fā)送的實現(xiàn)圖 4-1程序主界面實現(xiàn)圖首先進入主界面,在主界面輸入、密碼、主題、正文和目的,然后點發(fā)送,假設賬號跟密碼都正確的話就可以發(fā)送,否那么就發(fā)送不成功,如下圖。1獲取收件人賬號程序會檢測輸入賬號合法性。關(guān)鍵代碼
20、:String mail=mailText.getText();String password=passwordText.getText();/ SMTP 效勞器需要驗證:props.put(mail.smtp.host, smtp.sina.);/Smtp props.put(mail.smtp.auth, true);獲取賬號設置界面中用戶輸入的賬號和密碼傳入效勞器。關(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ā)送的實現(xiàn)圖程序測試主界面測試本次設計中 , 主要用到對話框Java 圖形界面。 Java 圖形界面是實現(xiàn)應用程序人機交互的重要組
22、成局部。它不但可以實現(xiàn)數(shù)據(jù)流的輸入和輸出,而且也可以移動和關(guān)閉對話框。主界面有對應的按鈕,方便用戶使用,如下圖。發(fā)送電子程序測試圖 5-1 主界面測試在上一步已經(jīng)測試了賬號輸入,然后再收件人地址輸入框中輸入“ yuhui126. 。接下來在主題輸入框中輸入“測試,正文中輸入 “ 測試 余輝 1008041113 ,最后點擊發(fā)送,當發(fā)送成功會在發(fā)送旁邊返回“發(fā)送成功的信息。如圖為測試發(fā)送成功。圖 5-2 a發(fā)送電子程序測試面圖 5-2 b發(fā)送電子程序測試面總結(jié)這次課程設計我做的是發(fā)送程序, 我主要利用java 語言和 MyEclipse工具來實現(xiàn)的幾個主要功能 , 包括標題 , 正文, 附件以及
23、多方發(fā)送等, 通過自我學習, 以及在教師的輔導下順利實現(xiàn)使用代碼發(fā)送功能. 完成一次從理論向?qū)嵺`的過程, 找到了一些自己在平時學習中的缺乏和問題 .由于程序?qū)嵭休^為復雜, 所以應該在一開場時做好規(guī)劃, 畫好流程圖 , 做好大體框架, 然后再逐一細化 , 再把各個模塊聯(lián)系起來. 一定要做好步步扎實, 否那么容易因為例如封裝問題等造成的混亂 總體實行流程是寫好容通過兩種協(xié)議,即SMTP(SimpleMailTransfer Protocol ,簡單傳輸協(xié)議) 和 POP3(Post Office Protocol ,郵局協(xié)議3), 使用實現(xiàn)注冊好的賬號和密碼進展登陸和驗證驗證成功后 ,將之前寫好的
24、通過效勞器發(fā)送到目的地址發(fā)送成功 ,否那么返回錯誤報告這次課程設計也激發(fā)了我今后努力學習的興趣,我想這將對我以后的學習產(chǎn)生積極的影 響。另外在課程設計的過程中,當我們碰到不明白的問題時,指導教師總是耐心的講解,給 我們的設計以極大的幫助,使我們獲益匪淺。因此非常感教師的教誨。通過這次設計, 我懂得了學習的重要性,了解到理論知識與實踐相結(jié)合的重要意義,學會了堅持、耐心和努力,這將為自己今后的學習和工作做出了最好的典范。我覺得作為一名網(wǎng)絡工程專業(yè)的學生,這次課程設計是很有意義的。更重要的是如何把自己平時所學的東西應用到實際中??恐@一個多禮拜的“學習,在教師同學的幫助和講解下,自己開場主動學習并逐
25、步從根底慢慢開場弄懂它。在這次課程設計作業(yè)的過程中由于在設計方面我缺少經(jīng)歷,理論根底知識掌握得不結(jié)實,在設計中難免會出現(xiàn)這樣那樣的問題,如:確定設計方案時,在附件名選擇模塊中“卡住了, 再次,在一些細節(jié)方面比擬薄弱,出錯檢測模塊, 效勞器驗證等方面都遇到了困難,在同學的幫助下逐步解決了。這些都暴露出了前期我在這些方面知識的欠缺和經(jīng)歷的缺乏。對于我來說, 收獲最大的是方法和能力;那些分析和解決問題的能力。在整個課程設計的過程中, 我發(fā)現(xiàn)我在經(jīng)歷方面十分缺乏,有時候空有理論知識,沒有理性的知識;有些東西可 能與實際脫節(jié)。 總體來說, 我覺得像課程設計這種類型對我們的幫助還是很大的,它需要我們將學過
26、的相關(guān)知識系統(tǒng)地聯(lián)系起來,從中暴露出自身的缺乏,以待改良!致感我的指導教師濤教師,本次論文的每個細節(jié)和每個數(shù)據(jù),都離不開他的細心指導。教師嚴謹細致、 一絲不茍的作風一直是我工作、學習中的典范; 他循循善誘的教誨和不拘一格的思路給予我無盡的啟迪。無論在理論上還是在實踐中,教師都給了我很大的幫助,使我得到不少的提高這對于我以后的工作和學習都有一種巨大的幫助。另外, 在系統(tǒng)開發(fā)過程中同學也給予我很大的幫助,幫助解決了不少的難點,使得系統(tǒng)能及時開發(fā)完成,這里一并表示感。在論文即將完成之際,我的心情無法平靜,從開場進入課題到論文的順利完成,有許多可敬的師長、同學、朋友給了我無私的幫助,在這里請承受我誠摯
27、的意!最后祝各位教師工作順利、身體安康!參考文獻希仁 . 計算機網(wǎng)絡 . 第五版 M. :電子工業(yè), 2008.1耿祥義,躍平.Java大學實用教程. 第二版 M.:電子工業(yè), 2005.5王勇,代桂平. 計算機網(wǎng)絡課程設計M. :清華大學,2009.6耿祥義,躍平.Java大學實用教程學習指導. 第二版 M.:電子工業(yè), 2005.55.(美) 埃史爾.Java編程思想 ( 第 4 版).機械工業(yè) .2007海山 . 深入 Java Servlet網(wǎng)絡編程 M . :清華大學,2002.2Karl Moss.Java Servlet開發(fā)人員指南M . :清華大學, 2002Liang, Y.
28、D. Java語言程序設計根底篇. 機械工業(yè) ,2006曉華 .精通 Java 核心技術(shù) . 電子工業(yè) ,2003附錄 1: EmailClient類功能:該類是實現(xiàn)系統(tǒng)界面的類。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(再寫一封 ); 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);/ 設置底板顏色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(沒有寫地址地址);附錄2: MainSender類功能:實現(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ā)送一個封author weiping*/public static void sendByoneSecond(String adds,String title,Stringcontent,File files,String contentType) if(adds!=
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024芒果種植基地無人機噴灑農(nóng)藥服務合同3篇
- 儀器設備采購合同5篇
- 經(jīng)濟法關(guān)于大學生就業(yè)維權(quán)方面
- 贊助合同模板(5篇)
- 山東特殊教育職業(yè)學院《醫(yī)學基本技能》2023-2024學年第一學期期末試卷
- 2025年度政府投資項目財務監(jiān)管代理合同3篇
- 鐘山職業(yè)技術(shù)學院《商務英語視聽說(4)》2023-2024學年第一學期期末試卷
- 2024年礦山石料直供采購協(xié)議綱要版B版
- 2025年度新疆棉花采摘機械化作業(yè)合同范本3篇
- 南京師范大學泰州學院《口腔臨床醫(yī)學概論(口腔修復學)》2023-2024學年第一學期期末試卷
- 職業(yè)暴露處理方法與報告流程圖
- 蘇教版一年級上冊《科學》期末知識點匯總 重點知識梳理 總復習【版 】課件
- 青島版小學科學三年級下冊課程綱要
- 目標、計劃與行動課件
- 動態(tài)變形模量Evd試驗記錄
- 2020-2021學年浙江省溫州市八年級(上)期末數(shù)學試卷(附答案詳解)
- 蔬菜籽種采購清單
- 工期定額-民用建筑
- 低壓電能表安裝作業(yè)指導書
- 能見度不良時船舶航行須知
- 軟膠囊的制備
評論
0/150
提交評論