最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JavaMail入門(mén)教程之接收郵件(4)

 更新時(shí)間:2016年12月22日 15:47:09   作者:汪先森  
這篇文章主要為大家詳細(xì)介紹了JavaMail入門(mén)教程之接收郵件的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

上一篇JavaMail入門(mén)第三篇 發(fā)送郵件中,我們學(xué)會(huì)了如何用JavaMail API提供的Transport類(lèi)發(fā)送郵件,同樣,JavaMail API中也提供了一些專(zhuān)門(mén)的類(lèi)來(lái)對(duì)郵件的接收進(jìn)行相關(guān)的操作,在介紹這些類(lèi)之前,我們先來(lái)了解下郵件接收API的體系結(jié)構(gòu),JavaMail API中定義了一個(gè)java.mail.Store類(lèi),它用于執(zhí)行郵件的接收任務(wù),我們?cè)诔绦蛑姓{(diào)用這個(gè)類(lèi)中的方法可以獲取郵箱中的各個(gè)郵件夾的信息。JavaMail使用Folder對(duì)象表示郵件夾,通過(guò)Folder對(duì)象的方法可以獲取郵件夾中的所有郵件信息,而我們知道郵件的信息可以使用Message對(duì)象來(lái)表示,Message類(lèi)中就包含了操作郵件的各種方法了,例如獲取郵件的發(fā)送者,主題,正文內(nèi)容,發(fā)送時(shí)間等,它們工作關(guān)系如下:

1、從Session對(duì)象中獲得實(shí)現(xiàn)了某種郵件發(fā)送協(xié)議的Store對(duì)象;

2、登錄郵箱,連接上POP3或者IMAP4服務(wù)器;

3、調(diào)用Store的getFolder方法,獲取郵箱中的某個(gè)郵件夾的Folder對(duì)象;

4、調(diào)用Folder對(duì)象中的getMessage或getMessages方法,獲取郵件夾中的某一封郵件或者是所有郵件,每一封的郵件以一個(gè)Message對(duì)象返回。

接下來(lái)我們用以上類(lèi)來(lái)接收郵件

import java.util.Properties;

import javax.mail.Address;
import javax.mail.Folder;
import javax.mail.Message;
import javax.mail.Session;
import javax.mail.Store;

class MailReceives {
 public static void main(String[] args) throws Exception {
  // 定義連接POP3服務(wù)器的屬性信息
  String pop3Server = "pop.qq.com";
  String protocol = "pop3";
  String username = "123456@qq.com";
  String password = "****************"; // QQ郵箱的SMTP的授權(quán)碼,什么是授權(quán)碼,它又是如何設(shè)置?

  Properties props = new Properties();
  props.setProperty("mail.transport.protocol", protocol); // 使用的協(xié)議(JavaMail規(guī)范要求)
  props.setProperty("mail.smtp.host", pop3Server); // 發(fā)件人的郵箱的 SMTP服務(wù)器地址

  // 獲取連接
  Session session = Session.getDefaultInstance(props);
  session.setDebug(false);

  // 獲取Store對(duì)象
  Store store = session.getStore(protocol);
  store.connect(pop3Server, username, password); // POP3服務(wù)器的登陸認(rèn)證

  // 通過(guò)POP3協(xié)議獲得Store對(duì)象調(diào)用這個(gè)方法時(shí),郵件夾名稱(chēng)只能指定為"INBOX"
  Folder folder = store.getFolder("INBOX");// 獲得用戶(hù)的郵件帳戶(hù)
  folder.open(Folder.READ_WRITE); // 設(shè)置對(duì)郵件帳戶(hù)的訪問(wèn)權(quán)限

  Message[] messages = folder.getMessages();// 得到郵箱帳戶(hù)中的所有郵件

  for (Message message : messages) {
   String subject = message.getSubject();// 獲得郵件主題
   Address from = (Address) message.getFrom()[0];// 獲得發(fā)送者地址
   System.out.println("郵件的主題為: " + subject + "\t發(fā)件人地址為: " + from);
   System.out.println("郵件的內(nèi)容為:");
   message.writeTo(System.out);// 輸出郵件內(nèi)容到控制臺(tái)
  }

  folder.close(false);// 關(guān)閉郵件夾對(duì)象
  store.close(); // 關(guān)閉連接對(duì)象
 }
}

控制臺(tái)輸出結(jié)果:

可以看到控制臺(tái)輸出的是郵件的原始內(nèi)容,還未被解析,所以需要經(jīng)過(guò)解析才能閱讀,下一篇JavaMail入門(mén)第五篇 解析郵件將講解如何解析郵件。

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 解讀@ResponseBody與@RequestBody注解的用法

    解讀@ResponseBody與@RequestBody注解的用法

    這篇文章主要介紹了Spring MVC中的@ResponseBody和@RequestBody注解的用法,@ResponseBody注解用于將Controller方法的返回對(duì)象轉(zhuǎn)換為指定格式(如JSON)并通過(guò)Response響應(yīng)給客戶(hù)端,@RequestBody注解用于讀取HTTP請(qǐng)求的內(nèi)容
    2024-11-11
  • 簡(jiǎn)單實(shí)現(xiàn)Java版學(xué)生管理系統(tǒng)

    簡(jiǎn)單實(shí)現(xiàn)Java版學(xué)生管理系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了簡(jiǎn)單實(shí)現(xiàn)Java版學(xué)生管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-06-06
  • Java Web使用Html5 FormData實(shí)現(xiàn)多文件上傳功能

    Java Web使用Html5 FormData實(shí)現(xiàn)多文件上傳功能

    這篇文章主要介紹了Java Web使用Html5 FormData實(shí)現(xiàn)多文件上傳功能,需要的朋友可以參考下
    2017-07-07
  • 關(guān)于Java中靜態(tài)代碼塊的執(zhí)行淺析

    關(guān)于Java中靜態(tài)代碼塊的執(zhí)行淺析

    這篇文章主要給大家介紹了關(guān)于Java中靜態(tài)代碼塊執(zhí)行的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-09-09
  • Java中文件寫(xiě)入內(nèi)容的幾種常見(jiàn)方法

    Java中文件寫(xiě)入內(nèi)容的幾種常見(jiàn)方法

    本文主要介紹了Java中文件寫(xiě)入內(nèi)容的幾種常見(jiàn)方法,主要包括使用NIO的Files工具類(lèi)、通過(guò)commons-io的FileUtils工具類(lèi)、RandomAccessFile、PrintWriter和BufferedWriter這幾種,具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-10-10
  • SpringBoot定時(shí)任務(wù)多線程實(shí)現(xiàn)示例

    SpringBoot定時(shí)任務(wù)多線程實(shí)現(xiàn)示例

    在真實(shí)的Java開(kāi)發(fā)環(huán)境中,我們經(jīng)常會(huì)需要用到定時(shí)任務(wù)來(lái)幫助我們完成一些特殊的任務(wù),本文主要介紹了SpringBoot定時(shí)任務(wù)多線程實(shí)現(xiàn)示例,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-12-12
  • Seata?AT模式啟動(dòng)過(guò)程圖文示例詳解

    Seata?AT模式啟動(dòng)過(guò)程圖文示例詳解

    這篇文章主要為大家介紹了Seata?AT模式啟動(dòng)過(guò)程圖文示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-09-09
  • Java設(shè)計(jì)模式之迪米特原則精解

    Java設(shè)計(jì)模式之迪米特原則精解

    設(shè)計(jì)模式(Design pattern)代表了最佳的實(shí)踐,通常被有經(jīng)驗(yàn)的面向?qū)ο蟮能浖_(kāi)發(fā)人員所采用。設(shè)計(jì)模式是軟件開(kāi)發(fā)人員在軟件開(kāi)發(fā)過(guò)程中面臨的一般問(wèn)題的解決方案。本篇介紹設(shè)計(jì)模式七大原則之一的迪米特原則
    2022-02-02
  • Java實(shí)現(xiàn)訂單超時(shí)自動(dòng)取消的7種方案

    Java實(shí)現(xiàn)訂單超時(shí)自動(dòng)取消的7種方案

    在電商、外賣(mài)、票務(wù)等系統(tǒng)中,訂單超時(shí)未支付自動(dòng)取消是一個(gè)常見(jiàn)的需求,這個(gè)功能乍一看很簡(jiǎn)單,甚至很多初學(xué)者會(huì)覺(jué)得:"不就是加個(gè)定時(shí)器么?" 但真到了實(shí)際工作中,細(xì)節(jié)的復(fù)雜程度往往會(huì)超乎預(yù)期,本文給大家介紹了Java實(shí)現(xiàn)訂單超時(shí)自動(dòng)取消的7種方案
    2024-12-12
  • Java以編程方式實(shí)現(xiàn)JAR文件的創(chuàng)建

    Java以編程方式實(shí)現(xiàn)JAR文件的創(chuàng)建

    在這篇文章中,我們將為大家詳細(xì)介紹一下利用Java語(yǔ)言以編程方式創(chuàng)建jar文件的過(guò)程。文中的示例代碼講解詳細(xì),感興趣的可以了解一下
    2022-07-07

最新評(píng)論

天津市| 嘉祥县| 菏泽市| 望城县| 商水县| 晋城| 冕宁县| 龙门县| 龙门县| 南宫市| 大姚县| 浦城县| 阿尔山市| 柳州市| 泾川县| 邻水| 卓资县| 邹平县| 日喀则市| 利川市| 楚雄市| 雅江县| 咸阳市| 鄯善县| 扎赉特旗| 邢台市| 达日县| 平陆县| 古田县| 许昌县| 九江县| 项城市| 河北省| 靖远县| 子洲县| 洛隆县| 彭山县| 奉化市| 郑州市| 策勒县| 阳山县|