【我的Segmentfault原文】https://segmentfault.com/a/1190000008030346

 

前言

??JavaMail的使用本身并不難,網(wǎng)上有不少案例,簡單易懂,而且有詳細的中文注解。但是由于JavaMail的機制設(shè)置不夠完善,特別是異常出錯時的參考信息太少,給初學(xué)者造成了不少麻煩,而我就是其中之一。在此,把我遇到過得那些坑總結(jié)出來,以免大家重蹈覆轍,浪費時間。(注:后續(xù)還有遇到新的問題,我會持續(xù)更新到這里)

一、JavaMail概述

??JavaMail是由Sun定義的一套收發(fā)電子郵件的API,不同的廠商可以提供自己的實現(xiàn)類。但它并沒有包含在JDK中,而是作為JavaEE的一部分。

??廠商所提供的JavaMail服務(wù)程序可以有選擇地實現(xiàn)某些郵件協(xié)議,常見的郵件協(xié)議包括:

  • SMTP:簡單郵件傳輸協(xié)議,用于發(fā)送電子郵件的傳輸協(xié)議;

  • POP3:用于接收電子郵件的標(biāo)準(zhǔn)協(xié)議;

  • IMAP:互聯(lián)網(wǎng)消息協(xié)議,是POP3的替代協(xié)議。

??這三種協(xié)議都有對應(yīng)SSL加密傳輸?shù)膮f(xié)議,分別是SMTPS,POP3S和IMAPS。除JavaMail服務(wù)提供程序之外,JavaMail還需要JAF(JavaBeans Activation Framework)來處理不是純文本的郵件內(nèi)容,這包括MIME(多用途互聯(lián)網(wǎng)郵件擴展)、URL頁面和文件附件等內(nèi)容。下圖描述了JavaMail的體系結(jié)構(gòu)。

(圖片來源:http://blog.csdn.net/t12x3456...

  • mail.jar:此JAR文件包含JavaMail API和Sun提供的SMTP、IMAP和POP3服務(wù)提供程序;

  • activation.jar:此JAR文件包含JAF API和Sun的實現(xiàn)。

網(wǎng)友評論