JavaMail技術_第1頁
JavaMail技術_第2頁
JavaMail技術_第3頁
JavaMail技術_第4頁
JavaMail技術_第5頁
已閱讀5頁,還剩6頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、JavaMail技術1. JavaMail介紹現如今,使用email發送郵件非常普遍和常見,平時公司內部交流,網站上信息通知,注冊時激活驗證等地方都在使用郵件,Java也有關于發送和接收郵件技術封裝。Java中提供的技術即就是要給大家介紹的JavaMail技術。2. 郵件協議2.1. 郵件服務器簡介郵件服務器,按照提供的服務類型,可以分為發送郵件的服務器和接收郵件的服務器。發送郵件的服務器使用發送協議,現在常用的是SMTP協議。所以,通常發郵件的服務器也稱為SMTP服務器。接收郵件的服務器使用接收協議,現在常用的是POP3協議或IMAP協議,所以通常也被稱為POP3或IMAP服務器。目前經常見

2、到的服務器為SMTP和POP3服務器。例如:在注冊了126的郵箱之后,它的發郵件服務器為:25,而收郵件服務器則為:110.(冒號后面的為端口號)。當然,發郵件服務器和收郵件服務器也可能是同一臺主機,但端口號一定不相同。默認發郵件服務器的端口為25,收郵件的端口為110。2.2. 郵件收/發協議SMTP協議發郵件協議全稱為Simple Mail Transfer Protocol(簡單郵件傳輸協議),它定義了郵件客戶端軟件與SMTP服務器之間、以及兩臺SMTP服務器之間的通訊規則。端口一般為25.POP3協議收郵件協議全稱為Post Office Protocol(郵局協議),它定義了郵件客戶

3、端軟件與POP3服務器的通訊規則。端口一般為110.IMAP協議對POP3的擴展全稱為Internet Message Access Protocal(Internet消息訪問協議),它是對POP3協議的一種擴展,定義了郵件客戶端軟件與IMAP服務器的通訊規則。3. Apache的JavaMail使用郵件客戶端的主要任務是向郵件服務器發送郵件,以及接收來自郵件服務器的郵件。Sun公司制定了一套API,它封裝了郵件通信的各種協議。為Java開發者提供了收發電子郵件的公共接口。但是由于Sun公司提供的那些接口比較麻煩,Apache對sun公司的技術進行了封裝,使用Apache的mail技術,可以簡

4、單方便的發送郵件。3.1. 下載javamail的jar包下載地址:/proper/commons-email/download_email.cgi解壓jar包,在項目中導入jar包。將jar包添加到classpath中即可使用。3.2. Apache的mail類介紹3.2.1. Email類介紹Email:類是Apache的郵件jar包中的核心類,它本身是一個抽象類,需要使用其子類SimpleEmail或MultiPartEmail類創建對象。Email類它是基類,可以通過Email設置發送者郵件和名稱,同時可以設置接收者的郵件、名稱、主題、發

5、送時間。可以通過其子類設置需要發送的郵件主題內容。3.2.2. SimpleEmail介紹SimpleEmail類是用來發送簡單的互聯網郵件的,但是不攜帶任何的附件。3.2.3. MultiPartEmail介紹MultiPartEmail類是用來發送可以攜帶附件的郵件內容。其子類HtmlEmail可以發送包含html內容的郵件。3.3. 發送簡單的文本數據內容3.3.1. 發送簡單郵件代碼實現/* * 演示使用Apache的mail技術發送郵件 */public class MailDemo public static void main(String args) throws EmailE

6、xception / 創建Mail對象Email mail = new SimpleEmail();/ 設置發送郵件的主機服務器mail.setHostName("");/ 設置發送郵件的端口號mail.setSmtpPort(25);/ 設置發送者的郵箱地址和密碼mail.setAuthentication("qb_sh_test", "2015qazwsx");/ 設置安全連接mail.setSSLOnConnect(true);/設置發送者的郵件mail.setFrom("qb_sh_test");/ 設置主

7、題mail.setSubject("test");/ 設置郵件內容mail.setMsg("ceshi數據");/ 設置接收者郵件mail.addTo("qubo_323");/ 發送郵件mail.send();3.3.2. 郵箱開啟POP3第三方客戶端(網易)操作上面的程序在運行的時候會報下面的異常:Exception in thread "main" mons.mail.EmailException: Sending the email to the following server failed : :465

8、at mons.mail.Email.sendMimeMessage(Email.java:1421)at mons.mail.Email.send(Email.java:1448)at cn.qb.mail.MailDemo.main(MailDemo.java:41)Caused by: javax.mail.AuthenticationFailedExceptionat javax.mail.Service.connect(Service.java:319)at javax.mail.Service.connect(Service.java:169)at javax.mail.Servi

9、ce.connect(Service.java:118)異常的發生原因:由于發件的郵箱使用的163郵箱,而郵箱設置中沒有開啟POP3/STMP/IMAP的第三方郵件客戶端操作。需要先使用網頁登錄郵箱,然后在設置中開啟第三方客戶端操作服務。在勾選POP3/STMP服務或者是IMAP/SMTP服務的時候會彈出下面窗口選擇確定,設置授權碼選擇開啟的時候會彈出需要通過手機驗證碼設置授權碼輸入驗證碼之后,點擊確定:設置對應的授權碼即可。在設置發件箱的賬號和密碼的時候,密碼需要使用授權碼作為密碼,否則無法發送。3.3.3. 郵箱開啟POP3(新浪)3.4. 發送帶有HTML和圖片的郵件/* * 發送包含H

10、TML片段的郵件 */public class MailDemo2 public static void main(String args) throws Exception / 可以發送圖片和html片段的Email對象HtmlEmail mail = new HtmlEmail();/ 設置發送郵件的主機服務器mail.setHostName("");/ 設置發送郵件的端口號mail.setSmtpPort(25);/ 設置發送者的郵箱地址和密碼mail.setAuthentication("qb_sh_test", "2015qazwsx

11、");/ 設置安全連接mail.setSSLOnConnect(true);/ 設置發送者的郵件mail.setFrom("qb_sh_test");/ 設置主題mail.setSubject("test html & Picture");/ 設置圖片的網絡路徑URL url = new URL("String cid = mail.embed(url, "京東手機圖片");/ 處理亂碼問題 mail.setCharset("utf-8");/ 將圖片路徑添加到郵件內容中mail.set

12、HtmlMsg("<html>京東圖片<img src="cid:"+cid+""></html>");/ 設置郵件內容mail.setTextMsg("你的郵件不支持html格式的郵件");/ 設置接收者郵件mail.addTo("qubo_323");/ 發送郵件mail.send();3.5. 發送帶有附件的郵件/* * 發送附件 */public class MailDemo3 public static void main(String args)

13、throws Exception EmailAttachment attachment = new EmailAttachment();/ 附件內容 path是磁盤本地文件路徑和名稱attachment.setPath("d:/1.jpg");/ 將網絡中的文件作為附件/attachment.setURL(new URL("/ 表示當前設置的是附件attachment.setDisposition(EmailAttachment.ATTACHMENT);attachment.setDescription("附件描述");attachment.setName("附件名稱.jpg");/ 創建可以發送附件的Email對象MultiPartEmail email = new MultiPartEmail();email.setHostName("");email.setSmtpPort(25);/ 設置發送者的郵箱地址和密碼email.setAuthentication("qb_sh_test", "2015qazwsx");/ 設置安全連接email.setSSLOnConnect(tru

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論