亚洲综合原千岁中文字幕_国产精品99久久久久久久vr_无码人妻aⅴ一区二区三区浪潮_成人h动漫精品一区二区三

主頁 > 知識庫 > JavaMail訪問Hotmail郵箱

JavaMail訪問Hotmail郵箱

熱門標簽:開封便宜外呼系統報價 商丘百應電話機器人有沒有效果 漯河辦理400電話 黃石智能營銷電銷機器人效果 騰訊地圖標注商戶改名注冊入駐 怎樣把地圖標注出來 淮南騰訊地圖標注 地圖標注人員兼職 電話機器人的特色和創新
相信許多人都有MSN聊天工具的帳號,例如abc@hotmail.com ,這個賬號其實也是一個郵件地址,可以進行正常的郵件收發功能,你可以通過網址 http://www.hotmail.com 來訪問和操作這個郵箱進行郵件的收發。但是這個郵箱有一個限制就是它并不提供POP3或者SMTP服務,也就是說一般的郵件客戶端工具無法使用這個郵箱,雖然現在有不少的郵件工具可以支持Hotmail郵箱,但是如果我們需要在我們的Java項目中增加對Hotmail郵箱的支持,那往往會不知從什么地方開始入手,因為SUN公司提供的JavaMail 本身并不提供對除了POP3/IMAP以及SMTP外其他協議的支持。

  但事實上,JavaMail只是定義了一組平臺無關、獨立于通訊協議的郵件程序框架,或者說是接口,它是作為Java的可選包存在的。因此可以這樣說:JavaMail并不關心所使用的協議,不管是POP3、SMTP、IMAP當然還有Hotmail用的HTTP協議。對于JavaMail的客戶端而言也是這樣的,下圖就是一個最簡單的JavaMail結構圖,通過Transport進行郵件的發送,通過Store實現對郵件的收取,而不同協議的實現,JavaMail里的概念叫做Provider,只需要根據JavaMail定義的接口實現自己的Provider即可。


  為了實現通過JavaMail訪問Hotmail郵箱,我們就需要架起JavaMail接口與Hotmail服務所提供的訪問接口之間的橋梁。在這之前我們必須首先了解Hotmail所使用的接口協議。

  Hotmail通過地址 http://services.msn.com/svcs/hotmail/httpmail.asp 提供基于HTTP協議的服務,它不同于我們通過瀏覽器訪問 http://www.hotmail.com 的這個地址,后面這個地址是提供給用戶一個基于瀏覽器的訪問界面以便對郵箱進行操作,你當然可以通過編寫HTTP客戶端程序來解析頁面并獲取郵件的信息,但是這樣做不僅實現的復雜程度非常高,而且每次頁面風格發生變化后程序都要做相應的調整,因此不具備通用性,顯然是不可行的。而地址 http://services.msn.com/svcs/hotmail/httpmail.asp 則不同,它提供了固定的應用程序接口。當你使用瀏覽器訪問該地址的時候,會彈出下面要求登錄的窗體:


  而當輸入正確的用戶名和口令后會再彈出一次或兩次該提示窗口,但提示信息不同,操作完成后出現頁面無法顯示的錯誤,錯誤碼是 405 (資源不允許)。因此該服務并不允許通過瀏覽器來訪問。

  事實上Hotmail使用的是WebDAV來提供基于HTTP協議的應用編程接口,WebDAV(Web 分布式創作和版本控制)已經成為重要的 Web 通訊協議。WebDAV所要解決的問題是:

  1.改寫保護:HTTP 1.1 無法確保客戶端可以保護資源,并且可以在其他客戶端同時編輯它們的情況下進行更改。 使用 WebDAV,可以通過多種方式來鎖定資源,以便讓其他客戶端知道您對所討論的資源感興趣,或者防止其他客戶端訪問該資源。

  2.資源管理:HTTP 只能直接訪問單個資源。 WebDAV 提供一種更有效地組織數據的方法。 WebDAV 引入了可包含資源 的集合(類似于文件系統文件夾)概念。 通過 WebDAV 進行的資源管理包括如下功能:創建、移動、復制和刪除集合,以及集合中的資源或文件。

  3.文檔屬性:不同類型的數據具有唯一的屬性,這有助于描述數據。 例如,在電子郵件中,這些屬性可能是發件人的姓名和接收郵件的時間。 在協作文檔中,這些屬性可能是文檔原始作者的姓名和最后一個編輯者的姓名。 因為人們使用的文檔類型各不相同,所以可能的屬性類型列表也變得無限大。 XML 是 WebDAV 所需的一種可擴展通訊工具。

  關于WebDAV的更多資料可以參閱本文最后的參考資料。

  相對于自行解析Hotmail的瀏覽器頁面而言,基于特定協議WebDAV的接口使Hotmail郵件客戶端程序的實現更加穩定和可靠。在了解了JavaMail API的基本接口以及Hotmail所提供接口的協議,本文的題目就變得非常具體了,就是如果編寫基于WebDAV的JavaMail Provider(JavaMail提供者)并使用這個提供者來實現Hotmail郵件收發功能,但這題目太大而且已經超過了一篇文章所能敘述的范圍,因此我們接下來將引入一個開放源碼項目JDAVMail,并詳細介紹如何通過這個項目實現Hotmail郵件的收發功能。

  JDAVMail 是一個開放源碼的JavaMail的提供者項目,可以通過它來訪問基于WebDAV協議的郵件服務,有如Hotmail郵箱。你可以到 http://sourceforge.net/projects/jdavmail 這個網址下載到最新版本的程序。JDAVMail使用了Jakarta上的commons httpclient 作為HTTP客戶端組件與服務器進行通訊,同時使用了jdom進行XML數據的解析,另外由于httpclient項目用到了commons logging進行日記的輸出,因此commons-logging也是必須的,這三個組件都可以在JDAVMail的壓縮包中的lib目錄中找到,壓縮包中同時還包括已編譯的jar文件以及所有的源碼。
   為了讓大家對JDAVMail有個大概的認識,下面我們給出兩段代碼用于Hotmail郵件的收發:

  1. 郵件收取

  /*
  * 文件名:HotmailDemo.java
  * 創建時間:2004-9-14
  * 創建者:liudong
  */
  package com.clickcom.mail;

  import java.util.Date;
  import java.util.Properties;

  import javax.mail.Folder;
  import javax.mail.Message;
  import javax.mail.Session;
  import javax.mail.Store;
  import javax.mail.Transport;
  import javax.mail.internet.InternetAddress;
  import javax.mail.internet.MimeMessage;

  /**
  * Hotmail郵件的收發器
  * @author liudong
  */
  public class HotmailDemo {
  public static void main(String[] args) {
  receive();
  }

  /**
  * 郵件接收
  */

   protected static void receive() {
  try {
   Properties prop = new Properties();
   Session ses = Session.getInstance(prop);
   //使用JDAVMail Provider
   Store store = ses.getStore("davmail");
   //無需指定服務器地址
   store.connect(null, "你的帳號","密碼");
   if (store.isConnected()) {
    Folder inbox = store.getFolder("INBOX");
    if (inbox.exists()) {
     inbox.open(Folder.READ_ONLY);
     int nCount = inbox.getMessageCount();
     System.out.println("Inbox contains " + nCount + " messages");
     // 依次顯示收件箱中的每封郵件
     for(int i=1;i=nCount;i++){
      MimeMessage msg = (MimeMessage) inbox.getMessage(i);
      System.out.println("Subject : " + msg.getSubject());
      System.out.println("From : " + msg.getFrom()[0].toString());
      System.out.println("Content type : " + msg.getContentType());
      System.out.println(msg.getContent());
     }
    }
   }
  } catch (Exception ex) {
   ex.printStackTrace();
  }
  }
  }

  從上面這段代碼我們發現除了 Store store = ses.getStore("davmail"); 這個語句,同時不需要指定服務器地址外,其他的都跟一個普通的JavaMail應用程序沒有兩樣,也沒有引入任何跟JDAVMail有關的類。沒有指定服務器地址這個比較容易理解,因為Hotmail提供HttpMail服務的地址是固定的。事實上僅有getStore這個語句跟常規郵件客戶端程序有點不同的是它使用davmail字符串作為參數,而我們在使用JavaMail連接POP3服務器的時候指定參數值為pop3。怎么回事呢?因為JavaMail是通過協議名來加載Provider類的。打開JDAVMail.0.9.006.jar這個jar文件就會發現在META-INF目錄下有一個文件javamail.providers,該文件內容如下:

  protocol=davmail;
  type=store; class=com.posisoft.jdavmail.JDAVMailStore;
  vendor=Positive Software;
  protocol=davmail_xmit;
  type=transport;
  class=com.posisoft.jdavmail.JDAVMailTransport;
  vendor=Positive Software;

  因此當我們指定協議名為davmail時,JavaMail就會自動加載com.posisoft.jdavmail.JDAVMailStore類進行處理,因此通過傳入davmail字符串所得到的store實例實際上是類com.posisoft.jdavmail.JDAVMailStore的一個實例,這樣我想大家應該了解了前面這段程序的工作原理。

  我們再來看JDAVMail發送郵件的代碼片段:

  /**
  * 郵件發送
  */
  protected static void send() {
  try {
  Properties prop = new Properties();
  //郵件發送者地址
  prop.setProperty("mail.davmail.from","abc@hotmail.com");
  Session ses = Session.getInstance(prop);
  //獲得JDAVMail的郵件發送實例
  Transport transport = ses.getTransport("davmail_xmit");
  //連接到Hotmail服務器,請替換為自己的用戶名和口令
  transport.connect(null, "用戶名","口令");

  // 準備要發送的郵件
  MimeMessage txMsg = new MimeMessage(ses);
  txMsg.setSubject("This is the subject");

  //郵件發送者地址
  InternetAddress addrFrom = new InternetAddress("abc@hotmail.com");
  txMsg.setFrom(addrFrom);

  //郵件接收者地址
  InternetAddress addrTo = new InternetAddress("cdef@hotmail.com", "cdef");
  txMsg.addRecipient(Message.RecipientType.TO, addrTo);

  //郵件內容
  txMsg.setText("Hello world !");
  txMsg.setSentDate(new Date());

  //發送郵件
  transport.sendMessage(txMsg, txMsg.getAllRecipients());
  } catch (Exception ex) {
  ex.printStackTrace();
  }
  }

  同樣這段代碼使用了davmail_xmit協議來獲取JDAVMail的郵件發送實例,通過前面提到的javamail.providers文件不難知道JDAVMail使用類com.posisoft.jdavmail.JDAVMailTransport進行郵件的發送處理。

  在實際測試中發現不管是JDAVMail還是其他的郵件工具,使用Hotmail進行郵件的發送速度比較慢,差不多有幾分鐘后才能收到相應的信息,因此如果測試中發現該問題請耐心等待。

  我想通過本文介紹如何利用JDAVMail收發Hotmail郵件,以及研究JDAVMail的源碼,不僅可以更加深入了解JavaMail的體系結構,對編寫JavaMail Provider也有更加具體的參照。另外希望為正困撓于如何在Java程序中訪問Hotmail郵件的朋友們排憂解難。同時也非常歡迎通過我的網站 http://www.javayou.com 跟我交流在使用中遇到的問題。
您可能感興趣的文章:
  • java中javamail發送帶附件的郵件實現方法
  • Java基于JavaMail實現向QQ郵箱發送郵件
  • java中javamail收發郵件實現方法
  • Java程序中使用JavaMail發送帶圖片和附件的郵件
  • struts2集成javamail發郵件示例詳解
  • JavaMail實現發送超文本(html)格式郵件的方法
  • 基于JavaMail的常用類詳細介紹
  • JavaWeb中使用JavaMail實現發送郵件功能實例詳解
  • javamail 發送郵件的實例代碼分享
  • 使用JavaMail發送郵件保證成功的方法

標簽:岳陽 紅河 亳州 拉薩 大興安嶺 馬鞍山 武威 鄭州

巨人網絡通訊聲明:本文標題《JavaMail訪問Hotmail郵箱》,本文關鍵詞  JavaMail,訪問,Hotmail,郵箱,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《JavaMail訪問Hotmail郵箱》相關的同類信息!
  • 本頁收集關于JavaMail訪問Hotmail郵箱的相關信息資訊供網民參考!
  • 推薦文章
    国产精品自拍在线| 999精品视频在线| 韩国毛片免费大片| 日本免费看视频| 999久久狠狠免费精品| 国产网站免费在线观看| 国产成+人+综合+亚洲不卡 | 午夜在线影院| 成人在免费观看视频国产| 亚洲第一页乱| 日韩中文字幕一区| 中文字幕一区二区三区精彩视频| 黄色短视屏| 天天做人人爱夜夜爽2020| 国产一区二区精品久| 久久99这里只有精品国产| 99久久精品国产国产毛片| 国产美女在线一区二区三区| 国产91丝袜高跟系列| 国产一区二区精品在线观看| 日本免费乱人伦在线观看| 一级毛片视频播放| 色综合久久天天综线观看| 青青久久国产成人免费网站| 国产伦精品一区二区三区无广告 | 国产网站免费观看| 国产高清在线精品一区a| 国产一区二区精品在线观看| 麻豆午夜视频| 国产麻豆精品免费视频| 精品国产一区二区三区免费| 日本伦理网站| 国产成人啪精品| 一级女性大黄生活片免费| 一级片片| 国产精品免费久久| 欧美一级视频免费观看| 欧美激情伊人| 日韩中文字幕一区| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 久久成人综合网| 美国一区二区三区| 色综合久久天天综合观看| 日韩中文字幕一区二区不卡| 欧美国产日韩在线| 一级毛片视频在线观看| 高清一级毛片一本到免费观看| 日本特黄特黄aaaaa大片| a级黄色毛片免费播放视频| 欧美18性精品| 国产91精品露脸国语对白| 国产原创视频在线| 亚洲天堂免费| 尤物视频网站在线观看| 999久久狠狠免费精品| 国产成人女人在线视频观看| 黄色福利片| 日本特黄特色aaa大片免费| 免费国产一级特黄aa大片在线| 黄色免费三级| 国产一区二区精品尤物| 精品视频免费看| 天天做日日爱| 日韩中文字幕一区| 国产精品自拍在线| 国产伦精品一区二区三区无广告| 国产网站免费| 黄色福利片| 国产国语对白一级毛片| 成人免费高清视频| 欧美激情伊人| 久久久成人网| 国产91精品系列在线观看| 韩国三级香港三级日本三级la | 精品视频免费看| 日本伦理片网站| 精品视频在线观看免费| 免费一级片在线| 国产一区二区精品久久91| 久久精品店| 欧美激情一区二区三区视频高清 | 99久久精品国产麻豆| 国产一区二区高清视频| 亚洲 国产精品 日韩| 亚洲精品影院| 精品视频一区二区| 日本免费看视频| 免费的黄色小视频| 国产网站免费观看| 免费毛片播放| 麻豆污视频| a级毛片免费观看网站| 精品视频在线观看一区二区| 一 级 黄 中国色 片| 亚飞与亚基在线观看| 国产伦精品一区二区三区在线观看 | 日本免费乱人伦在线观看| a级精品九九九大片免费看| 国产亚洲免费观看| 亚洲天堂免费| 国产不卡在线观看| 免费的黄视频| 青青久热| 日韩中文字幕在线观看视频| 成人免费观看男女羞羞视频| 日日爽天天| 日韩av片免费播放| 欧美a免费| 美女免费精品视频在线观看| 成人在激情在线视频| 久久99这里只有精品国产| 欧美18性精品| 午夜在线亚洲男人午在线| 国产视频久久久| 亚洲精品影院| 国产国语在线播放视频| 精品视频一区二区| 成人免费福利片在线观看| 欧美1区2区3区| 亚洲天堂免费| 成人免费观看视频| 欧美激情一区二区三区视频高清| 欧美国产日韩在线| 成人a大片在线观看| 91麻豆tv| 国产成人啪精品视频免费软件| 国产a视频精品免费观看| 国产伦理精品| 日韩中文字幕一区| 欧美激情伊人| 日韩欧美一二三区| 久久国产精品自线拍免费| 久久久久久久男人的天堂| 日本久久久久久久 97久久精品一区二区三区 狠狠色噜噜狠狠狠狠97 日日干综合 五月天婷婷在线观看高清 九色福利视频 | 日韩综合| 午夜精品国产自在现线拍| 亚洲 欧美 成人日韩| 国产伦精品一区三区视频| 国产网站免费在线观看| 日本特黄特黄aaaaa大片 | 国产极品精频在线观看| 好男人天堂网 久久精品国产这里是免费 国产精品成人一区二区 男人天堂网2021 男人的天堂在线观看 丁香六月综合激情 | 午夜在线亚洲| 国产一区二区高清视频| 天天做人人爱夜夜爽2020| 久久久久久久久综合影视网| 欧美激情伊人| 高清一级做a爱过程不卡视频| 欧美a级v片不卡在线观看| 欧美另类videosbestsex久久| 色综合久久天天综合| 99色视频在线| 青草国产在线观看| 天堂网中文在线| 久久国产精品自由自在| 九九九网站| 台湾毛片| 日韩中文字幕一区| 99久久精品国产高清一区二区| 精品国产一区二区三区免费| 99色视频| 中文字幕一区二区三区精彩视频| 日日夜夜婷婷| 精品视频一区二区三区| 国产伦精品一区二区三区在线观看 | 可以免费看毛片的网站| 韩国毛片| 精品视频免费在线| 国产视频在线免费观看| 精品视频免费看| 国产91精品露脸国语对白| 麻豆网站在线看| 成人免费观看网欧美片| 999久久久免费精品国产牛牛| 精品国产一区二区三区免费| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 久久国产精品自线拍免费| 国产高清在线精品一区二区| 二级片在线观看| 99久久精品国产国产毛片| 精品国产一区二区三区免费 | 国产成人精品一区二区视频| 国产一区二区福利久久| 欧美一级视频高清片| 国产不卡高清| 久久99爰这里有精品国产| 国产麻豆精品hdvideoss| 欧美激情伊人| 久久精品欧美一区二区| 99久久视频| 日韩字幕在线| 久久国产精品永久免费网站| 可以免费看毛片的网站| 好男人天堂网 久久精品国产这里是免费 国产精品成人一区二区 男人天堂网2021 男人的天堂在线观看 丁香六月综合激情 | 天天做日日爱夜夜爽| 999久久66久6只有精品| 韩国毛片| 日日爽天天| 九九干|