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

 

前言

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

一、JavaMail概述

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

??廠商所提供的JavaMail服務(wù)程序可以有選擇地實(shí)現(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)郵件擴(kuò)展)、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的實(shí)現(xiàn)。

延伸閱讀

學(xué)習(xí)是年輕人改變自己的最好方式-Java培訓(xùn),做最負(fù)責(zé)任的教育,學(xué)習(xí)改變命運(yùn),軟件學(xué)習(xí),再就業(yè),大學(xué)生如何就業(yè),幫大學(xué)生找到好工作,lphotoshop培訓(xùn),電腦培訓(xùn),電腦維修培訓(xùn),移動軟件開發(fā)培訓(xùn),網(wǎng)站設(shè)計(jì)培訓(xùn),網(wǎng)站建設(shè)培訓(xùn)學(xué)習(xí)是年輕人改變自己的最好方式