溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

java使用IMAP實現(xiàn)郵件發(fā)送

發(fā)布時間:2020-06-10 14:39:55 來源:億速云 閱讀:797 作者:元一 欄目:編程語言

IMAP是什么?

IMAP(Internet Mail Access Protocol)以前稱作交互郵件訪問協(xié)議(Interactive Mail Access Protocol),是一個應(yīng)用層協(xié)議。IMAP是斯坦福大學(xué)在1986年開發(fā)的一種郵件獲取協(xié)議。它的主要作用是郵件客戶端可以通過這種協(xié)議從郵件服務(wù)器上獲取郵件的信息,下載郵件等。當(dāng)前的權(quán)威定義是RFC3501。IMAP協(xié)議運行在TCP/IP協(xié)議之上,使用的端口是143。它與POP3協(xié)議的主要區(qū)別是用戶可以不用把所有的郵件全部下載,可以通過客戶端直接對服務(wù)器上的郵件進行操作。

特點

與POP3協(xié)議類似,IMAP(Internet消息訪問協(xié)議)也是提供面向用戶的郵件收取服務(wù)。常用的版本是IMAP4。
IMAP4改進了POP3的不足,用戶可以通過瀏覽信件頭來決定是否收取、刪除和檢索郵件的特定部分,還可以在服務(wù)器上創(chuàng)建或更改文件夾或郵箱。它除了支持POP3協(xié)議的脫機操作模式外,還支持聯(lián)機操作和斷連接操作。它為用戶提供了有選擇的從郵件服務(wù)器接收郵件的功能、基于服務(wù)器的信息處理功能和共享信箱功能。IMAP4的脫機模式不同于POP3,它不會自動刪除在郵件服務(wù)器上已取出的郵件,其聯(lián)機模式和斷連接模式也是將郵件服務(wù)器作為“遠程文件服務(wù)器”進行訪問,更加靈活方便。IMAP4支持多個郵箱。
IMAP4的這些特性非常適合在不同的計算機或終端之間操作郵件的用戶(例如你可以在手機、PAD、PC上的郵件代理程序操作同一個郵箱),以及那些同時使用多個郵箱的用戶。

IMAP和POP有什么區(qū)別?

POP允許電子郵件客戶端下載服務(wù)器上的郵件,但是您在電子郵件客戶端的操作(如:移動郵件、標(biāo)記已讀等),這是不會反饋到服務(wù)器上的,比如:您通過電子郵件客戶端收取了QQ郵箱中的3封郵件并移動到了其他文件夾,這些移動動作是不會反饋到服務(wù)器上的,也就是說,QQ郵箱服務(wù)器上的這些郵件是沒有同時被移動的。

但是IMAP就不同了,電子郵件客戶端的操作都會反饋到服務(wù)器上,您對郵件進行的操作(如:移動郵件、標(biāo)記已讀等),服務(wù)器上的郵件也會做相應(yīng)的動作。

也就是說,IMAP是“雙向”的。

同時,IMAP可以只下載郵件的主題,只有當(dāng)您真正需要的時候,才會下載郵件的所有內(nèi)容。

如何使用IMAP服務(wù)?

使用IMAP很簡單,首先,您需要先在QQ郵箱中啟用IMAP功能,然后,配置好客戶端,就可以使用了。

開啟 SMTP 服務(wù)

QQ 郵箱

【設(shè)置】-【賬戶】-【POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服務(wù)】

最下邊開啟

  • POP3/SMTP 服務(wù)

  • IMAP/SMTP 服務(wù)

網(wǎng)易 163 郵箱

java使用IMAP實現(xiàn)郵件發(fā)送

網(wǎng)易相對比較簡單,直接開啟【授權(quán)碼】

Email

Email 是基于 java 實現(xiàn)的發(fā)送郵件的工具包,力求簡單優(yōu)雅。

創(chuàng)作緣由

看了各種 email 工具感覺沒有想象中方便。

就自己實現(xiàn)一個,后續(xù)會陸續(xù)加入新的特性。

特性

  • Fluent 流式語法

  • 網(wǎng)易 163 郵箱的發(fā)送支持

  • 支持發(fā)送給多個收件人,多個(秘密)抄送者

快速開始

環(huán)境要求

jdk7+

maven 3.x+

引入

<plugin>
    <groupId>com.github.houbb</groupId>
    <artifactId>email</artifactId>
    <version>0.0.2</version>
</plugin>

發(fā)送郵件

此處密碼為網(wǎng)易郵箱對應(yīng)的授權(quán)碼。

EmailBs.auth("xxx@163.com", "xxx")
        .content("自定義內(nèi)容")
        .sendTo("xxx@yy.com");

這里會通過 xxx@163.com 發(fā)送給 xxx@yy.com 一封郵件。

郵件標(biāo)題默認(rèn)為無標(biāo)題,內(nèi)容為你的自定義內(nèi)容。

你可以通過指定,配置更多豐富的特性。

方法列表

方法說明
auth(username, password)username 為郵箱名稱,password 為對應(yīng)密碼
content(subject, content)subject 為郵件標(biāo)題,content 為郵件內(nèi)容
content(content)subject 默認(rèn)為 "無標(biāo)題",content 為郵件內(nèi)容
sendTo(toArray)toArray 為收件人列表
cc(ccArray)ccArray 為抄送人列表
bcc(bccArray)bccArray 為秘密抄送人列表

使用的例子

你可以指定多個收件人以及抄送人。

示例代碼如下:

EmailBs.auth("xxx@163.com", "xxx")
       .content("自定義主題", "自定義內(nèi)容")
       .cc("抄送者1@xx.com", "抄送者2@xx.com")
       .bcc("秘密抄送者1@xx.com", "秘密抄送者2@xx.com")
       .sendTo("收件人1@xx.com", "收件人2@xx.com");

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI