利用javamail收取Hotmail的退信

2016-02-19 13:46 3 1 收藏

下面图老师小编跟大家分享利用javamail收取Hotmail的退信,一起来学习下过程究竟如何进行吧!喜欢就赶紧收藏起来哦~

【 tulaoshi.com - 编程语言 】

Hotmail 是我最常用的Email Client。虽然时下hotmail的容量是小了些,速度也经常慢得让人不禁问候盖茨的母亲。但不可否认,它功能相当丰富,也比较稳定。尤其它的页面设计更是我等web编程人员的重要参照。
  
   !-- frame contents -- !-- /frame contents --   不象很多的POP3服务器,hotmail 实现了邮件传送状态通知(multipart/report)。我以前写的邮件客户端只支持收取 multipart/related、multipart/alternative和multipart/mixed 等多媒体类型的邮件,其他的因为不常见,我都忽略了。
  
    客户不答应了,那还有什么好说的,还有什么比让客户满足更重要的事情呢,在没买单之前。
  
    multipart/report 邮件类型的介绍参见 RFC1892,Sun的中文 Javamail Faq 里也有相关的说明,我摘录如下:
  
    问. 当消息不能被传送时,就会返回一个失败消息。我如何检测这些“回弹”消息?
  
    答:虽然有一个 Internet 标准用于报告这样的错误(multipart/report MIME 类型,参阅 RFC1892),但还没有广泛实现它。RFC1211 深入讨论了这个问题,包括了大量的例子。
  
    在 Internet 电子邮件中,特定的邮箱或用户名是否存在,只能由传送消息的最终服务器决定。消息可能通过几个中继服务器(它们不能检测错误),然后再到达最终服务器。通常,当最终服务器检测到这一错误,它会返回一个消息给原始消息的发送人,指出失败的原因。有许多 Internet 标准讨论了这种传送状态通知 (Delivery Status Notifications),但大量服务器不支持这些新标准,相反使用非凡技术来返回这种错误消息。这使得将“回弹”消息与产生问题的原始消息相互关联起来非常困难(注重,这个问题与 JavaMail 完全无关)。
  
    有许多技术和试探法用于处理这一问题,但它们都不是完美的。一种技术是 Variable Envelope Return Paths,http://cr.yp.to/proto/verp.txt 描述了这一技术。
  
    我修改了程序,也只是作了些简单的处理,代码如下:
  
   private void parseMultipart(Multipart multipart) throws Exception {
    for (int i = 0, n = multipart.getCount(); i n; i++) {
     BodyPart part = multipart.getBodyPart(i);
     String disposition = part.getDisposition();
  
     if (part.isMimeType("multipart/*")) {
      this.parseMultipart((Multipart) part.getContent());
     } else if (part.isMimeType("text/Html")) {
     //处理文本内容
     }
     /******* 处理附件,图片等等 ********/
     } else if (part.isMimeType("message/delivery-status")) {
      part.setFileName("details.txt"); //仿照Outlook,details.txt 内容即传送状态通知的邮件头信息
      saveAttachedFile(part);
     } else if (part.isMimeType("message/rfc822")) {
  

来源:http://www.tulaoshi.com/n/20160219/1605175.html

延伸阅读
标签: 电脑入门
今天(04.22)与一位编辑朋友交换电子名片的时候,突然发现,消息无法正常发送,并有提示:“警告:此消息中包含的网址被大量QQ用户举报或存在较高安全风险,已经被QQ安全中心阻止。对方无法收到您本次发送的消息。”(如图01所示) 图01:发送QQ信息时遇到“警告” 含有高风险的网址?!笔者仔细看了看名片的内容,没有什么网址...
标签: Java JAVA基础
你希望在jsp中建立一个邮件发送收取工具吗?下面将介绍的就是在jsp中建立一个邮件发送收取工具。在这篇文章中你可以了解到 Java Mail API的一些要点以及如何在 JSP中使用它。本文中还包括了在 JSP中使用 Java Mail的实例。 Java Mail是 JSP应用软件中相当强大的API。 阅读这篇文章需要对 JSP、 Java Beans和 Java Mail...
标签: Java JAVA基础
  第二部分:关于JavaMail 文档的使用 下载的JavaMail API中带的文档是很有用的。你可以在JavaMail下的/docs/javadocs/index.html找到它。第二部分主要将分析邮件程序的组件。你可以通过阅读文档来获得更多这方面的信息。 组件发送邮件需要使用JavaMail,它使对邮件的操作变得简单易用。 属性对象 JavaMail需要创建一...
标签: Java JAVA基础
<HTML <BODY <FORM action="sendmail.jsp" method="post" <TABLE align="center" <TR <TD width="50%" To:<BR<INPUT name="to" size="25" </TD <TD width="50%" From:<BR<INPUT name="from" size="25" </TD </TR <TR <TD colspan="2" Subject:<BR<INPUT name="subject" size="50" </T...
标签: Java JAVA基础
  你希望在jsp中建立一个邮件发送收取工具吗?下面将介绍的就是在jsp中建立一个邮件发送收取工具。在这篇文章中你可以了解到JavaMail API的一些要点以及如何在JSP中使用它。本文中还包括了在JSP中使用JavaMail的实例。JavaMail是JSP应用软件中相当强大的API。 阅读这篇文章需要对JSP、JavaBeans和JavaMail有一定的初步了解。当然,...

经验教程

836

收藏

73
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部