国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Java > 正文

JavaMail郵件簡介及API概述第一篇

2019-11-26 13:24:14
字體:
來源:轉載
供稿:網友

現如今,電子郵件在我們的生活當中扮演著越來越重要的角色,我們每個人幾乎都會與其打交道(至少時不時我們都會接收到莫名其妙的垃圾郵件),在工作中,使用郵件進行交流溝通,可以使我們的工作有跡可循,也顯的較為正式,這是由我們人為手工操作的,在生活中,在某網站注冊了一個賬戶之后,該網站就會自動發送一封歡迎郵件并讓我們確認是否注冊,以防止惡意注冊,當然,這個就不可能像我們工作中手工方式來進行操作了,Java的13種核心技術中的JavaMail為我們提供了API來對郵件進行相關的操作。

一、郵件服務器

要在Internet上提供電子郵件功能,必須有專門的電子郵件服務器。Internet上架設了大量的電子郵件服務器,例如,sina.com、qq.com、163.com等網站提供了面向公眾免費的電子郵件服務器,許多公司也提供了面向內部員工的電子郵件服務器,這些電子郵件服務器彼此之間都可以發送和接收電子郵件。那郵件服務器的作用是什么呢,它可以幫我們把郵件發出去,也可以幫我們把郵件接收進來,還可以為我們提供取郵件的服務,這個類似于現實生活中的郵局,既可以接收郵件,也可以為我們取郵件提供服務,還可以幫我們發送郵件。下面的圖片形象的說明了郵件服務器的功能

(1)接收用戶投遞的郵件;
(2)將用戶投遞進來的郵件轉發給目標郵件服務器;
(3)接收其他郵件服務器轉發來的郵件并把郵件存儲到其管理的用戶郵箱中;
(4)為前來讀取郵件的用戶提供讀取服務。

郵件服務器按通訊協議可以劃分為兩種類型:SMTP服務器和POP3/IMAP服務器,上圖中的1、2、3的功能就是由SMTP服務器完成的,而4的功能則是由POP3服務器完成的。

二、電子郵箱

每個電子郵件服務器之上都可以開設多個電子郵箱,電子郵箱也稱之為E-mail地址,它類似現實生活中的通訊地址,用戶可通過這個地址接收別人發來的電子郵件和向別人發送電子郵件。電子郵箱的獲得需要在郵件服務器上進行申請,確切地說,電子郵箱其實就是用戶在郵件服務器上申請的一個帳戶。郵件服務器把接收到的郵件保存到為某個帳戶所分配的郵箱空間中(所以我們需要定期清理我們的郵件,否則超過了分配的空間則無法接收到新的郵件),用戶通過其申請的用戶名和密碼登陸到郵件服務器上查收該地址已收到的電子郵件。

三、電子郵件的傳輸過程

電子郵件的傳輸過程可以用下圖來表示

上圖實線過程描述:

1、lisi@sina.com的郵件客戶端與sina的SMTP服務器建立網絡連接,并以lisi的用戶名和密碼進行登錄后,使用SMTP協議把郵件發送給sina的SMTP服務器;

2、sina的SMTP服務器收到lisi@sina.com提交的地址郵件后,首先根據收件人的地址后綴判斷接收者的郵件地址是否屬于該SMTP服務器的管轄范圍,如果是就直接把郵件存儲到收件人的郵箱中,否則,sina的SMTP服務器向DNS服務器查詢收件人的郵件地址后綴(sohu.com)所表示的域名的MX記錄,從而得到sohu的SMTP服務器信息,然后與soho的SMTP服務器建立連接并采用SMTP協議把郵件發送給sohu的SMTP服務器;

3、soho的SMTP服務器收到sina的SMTP服務器發來的電子郵件后,也將根據收件人的地址判斷該郵件是否屬于該SMTP服務器的管轄范圍,如果是的話就直接把郵件存儲到收件人的郵箱中,否則,sohu的SMTP服務器可能繼續轉發這封郵件;

4、wangwu@sohu.com賬號通過客戶端與soho的POP3/IMAP服務器建立網絡連接,并成功登錄后,然后通過POP3/IMAP協議查看wangwu@sohu.com郵箱中是否有新郵件,如果有,則使用POP3或IMAP協議讀取郵箱中的郵件。

虛線過程與實線過程類似,不再重復。

JavaMail API是Sun公司為方便Java開發人員在應用程序中實線郵件發送和接收功能而通過的一套標準開發包,它支持一些常用的郵件協議,如SMTP、POP3、IMAP和MIME等。要用這套API,當然需要先下載相關jar包,最新版本1.5.6,下載地址:https://java.net/projects/javamail/pages/Home

JavaMail API按其功能劃分通常可分為如下三大類:
1、創建和解析郵件內容的API :Message類是創建和解析郵件的核心API,它的實例對象代表一封電子郵件;
2、發送郵件的API:Transport類是發送郵件的核心API類,它的實例對象代表實現了某個郵件發送協議的郵件發送對象,例如SMTP協議;
3、接收郵件的API:Store類是接收郵件的核心API類,它的實例對象代表實現了某個郵件接收協議的郵件接收對象,例如POP3協議。

Session類:

Session類用于定義整個應用程序所需的環境信息,以及收集客戶端與郵件服務器建立網絡連接的會話信息,如郵件服務器的主機名、端口號、采用的郵件發送和接收協議等。Session對象根據這些信息構建用于郵件收發的Transport和Store對象,以及為客戶端創建Message對象時提供信息支持。

以上4個類的關系如下所示:

以上內容大部分摘抄自《Java郵件開發詳解》一書。下一篇JavaMail入門第二篇 創建郵件將介紹如何使用JavaMail提供的API創建郵件。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 同德县| 定远县| 青浦区| 泰和县| 金山区| 莎车县| 汕尾市| 永登县| 灵石县| 乌兰浩特市| 临沧市| 勐海县| 武川县| 滦南县| 昔阳县| 抚州市| 莫力| 武定县| 南昌县| 岑巩县| 忻城县| 鸡西市| 德格县| 客服| 高平市| 凤台县| 彩票| 城固县| 曲靖市| 榕江县| 台前县| 福鼎市| 平乡县| 高要市| 长乐市| 潞西市| 贡嘎县| 白朗县| 信阳市| 金乡县| 磐石市|