下载首页 | 资讯中心 | 下载分类 | 最近更新 | 排 行 榜 | 国产软件 | 国外软件 | 汉化补丁 |
文章搜索: 分类 关键字 收藏本站设为首页
您的位置:首页网页设计ASP程序 → JavaMail快速入门__教程
JavaMail快速入门__教程
日期:2007-5-20 0:38:42 人气:317     [ ]
上一页 [1] [2] [3] [4] [5] 下一页

  最后,在上面的代码中,你做到了当查看完毕后关闭文件夹以及消息存储,然后留下printMessage()方法来完成这个类的剩余部分。

  打印消息

  在这一部分,很有必要讨论前面提到的javax.mail.Part接口。

  下面的代码让你明白怎样隐含地把消息转换为它的Part接口并且把它赋给messagePart变量。对于只有一部分的消息,你现在需要打印一些信息。

  假如调用messagePart.getContent()来生成一个Multipart实例,你知道你正在处理一个多部分消息;在这种情况下,你正在通过getBodyPart(0)来得到第一个多部分消息并且打印它。

  当然你还要知道是否你已经得到了这个消息本身,还是仅仅是消息正文的第一部份。只有当内容是普通文本或者HTML时,你才可以打印该消息,这是通过一个InputStream来完成的。

/**

* "printMessage()" method to print a message.

*/

public static void printMessage(Message message)

{

 try

 {

  // Get the header information

  String from=((InternetAddress)message.getFrom()[0]).getPersonal();

  if (from==null) from=((InternetAddress)message.getFrom()[0])

   .getAddress();

   System.out.println("FROM: "+from);

   String subject=message.getSubject();

   System.out.println("SUBJECT: "+subject);

   // -- Get the message part (i.e. the message itself) --

   Part messagePart=message;

   Object content=messagePart.getContent();

   // -- or its first body part if it is a multipart message --

   if (content instanceof Multipart)

   {

    messagePart=((Multipart)content).getBodyPart(0);

    System.out.println("[ Multipart Message ]");

   }

   // -- Get the content type --

   String contentType=messagePart.getContentType();

   // -- If the content is plain text, we can print it --

   System.out.println("CONTENT:"+contentType);

   if (contentType.startsWith("text/plain")|| contentType.startsWith("text/html"))

   {

    InputStream is = messagePart.getInputStream();

    BufferedReader reader=new BufferedReader(new InputStreamReader(is));

               String thisLine=reader.readLine();

    while (thisLine!=null)

    {

     System.out.println(thisLine);

     thisLine=reader.readLine();

    }

   }

   System.out.println("-----------------------------");

  }

  catch (Exception ex)

  {

   ex.printStackTrace();

  }

 }

}

  为了简单起见,我假设消息本身或者消息正文的第一部份是可以打印的。对于真正的应用软件,可能你想要依次检查消息正文的每一部分,并且对每一部分采取相应的行动-打印或者是保存到磁盘,这取决于内容的类型。

  当你从消息存储中得到每个消息时,你实际上已经得到了一个轻量级的封装器。数据内容的获取是每申请一次就读取一次-这对于你只想下载消息头时很有用。


SimpleReceiver测试
  让我们对SimpleReceiver做一次测试。为了让它有东西可以接收,我发送图4所示的消息(注意:消息由文本和一个附件组成)
    图4 用于SimpleReceiver的测试消息
  一旦接收到消息,就把该消息认为是一个多部分消息。打印的文本如下:
FROM: Tony Loton
SUBJECT: Number 1
[ Multipart Message ]
CONTENT:text/plain;
charset="iso-8859-1"
Attachment 1
from Tony Loton.
-----------------------------
  把你的消息送出去
  为了有趣一点,并且说明JavaMail APIs的一个新颖的用法,我现在简要介绍一下我的谈话email项目。在做这个试验之前你需要得到lotontalk.jar文件,并把它加到你的classpath中去,添加方法如下:
  set CLASSPATH=%CLASSPATH%;lotontalk.jar
  你也需要在SimpleReceiver类中两个地方做代码修改。首先在receive()方法里面,把以下代码:
出处:本站原创 作者:佚名
 阅读排行
01.精美qq空间横幅代码
02.最酷qq个性女生网名
03.最新又有免费QQ秀啦《..
04.巧用透明FlaSh扮靓你的..
05.花之神匠代码(最新代码..
06.最新QQ空间免费导航
07.最新免费个人形象设置..
08.最新qq空间flash代码m..
09.CSS技术结合图像实现动..
10.Photoshop光影魔术师:..
11.QQ音速种子狂刷
12.最新QQ空间透明代码
13.PS实例教程:教你制作结..
14.Photoshop光影魔术师:..
15.制作背景图__教程
16.用Photoshop制作漂亮的..
17.如何获得QQ音速种子
18.≤QQ空间代码≥在日志..
19.网页浮动广告的制作代..
20.用Photoshop制作大红灯..
21.常用CSS
22.Photoshop给靓丽美女打..
 推荐文章
·Photoshop 表现技法之..
·快速将你的相片矢量化..
·PHOTOSHOP制作炽热的太..
·用Photoshop制作美丽的..
·流行杀手的娃娃工厂__..
·打造8号台球__教程
·PHOTOSHOP制作待机MM图..
·用Photoshop帮MM做纹身..
·PHOTOSHOP美眉着色绝招..
·PHOTOSHOP花露的制作_..
·PHOTOSHOP渐变工具的巧..
·PHOTOSHOP手绘奥兰多-..
·高难度抠图两种方法__..
·Photoshop高尔夫球的制..
·Photoshop打造精美玉佩..
Eqxia_COM下载站 版权所有 Copyright© 2001-2005 Www.eqxia.COM, All Rights Reserved.