选择显示字体大小

javamail快速入门-8

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()方法里面,把以下代码:
// -- get the message wrappers and process them --
message[] msgs = folder.getmessages();
for (int msgnum = 0; msgnum < msgs.length; msgnum++)
{
  printmessage(msgs[msgnum]);

}

  替换为:

// -- get the message wrappers and process them --

message[] msgs = folder.getmessages();

for (int msgnum = 0; msgnum < msgs.length; msgnum++)

{

 printmessage(msgs[msgnum]);

 speakmessage(msgs[msgnum]);

}

  现在增加以下的新方法speakmessage(),它与最初的printmessage()方法相似。

/**

* &quot;speakmessage&quot;, a talking version of printmessage().

*/

public static void speakmessage(message message)

{

 string speech=&quot;&quot;;

 try

 {

  com.lotontech.talk.lotontalk speaker=new com.lotontech.talk.lotontalk();

  string from=((inte.netaddress)message.getfrom()[0]).getpersonal();

  if (from==null) from=((inte.netaddress)message.getfrom()[0]).getaddress();

   speech=speech+&quot;from &quot;+from+&quot;, &quot;;

   string subject=message.getsubject();

   speech=speech+&quot;subject &quot;+subject+&quot;, &quot;;

   // -- 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);

    string contenttype=messagepart.getcontenttype();

    if (contenttype.startswith(&quot;text/plain&quot;) contenttype.startswith(&quot;text/html&quot;))

    {

     inputstream is = messagepart.getinputstream();

     bufferedreader reader=new bufferedreader(new inputstreamreader(is));

     string thisline=reader.readline();

     while (thisline!=null)

     {

      speech=speech+thisline+&quot;. &quot;;

      thisline=reader.readline();

     }

    // -- speak --

    speaker.speak(speech,true);

   }

  }

  catch (exception ex)

  {

   ex.printstacktrace();

  }

 }

  因为在说话之前,你正在把整个消息积累到一个字符串中,所以这个方案可能只适合小的消息。作为一种选择,你可以读一行然后再讲一行。

  当然,我不可能把结果显示给你看,因此你必须亲自来做实验。

  你还可以做一些小的试验,当然不是在这个试验中,来发现语音合成的一些有趣的特征:怎样处理数字,以及怎样把全部大些的单词假想成只取首字母的缩写词,然后一个一个字母地把它们拼出来。

  结论

  我们已经通过对发送和接收email消息的应用程序的各个基本构造块分别讲解,涉及到了收发email的方方面面。如果你是第一次接触javamail,是不是发现在应用程序中收发email不是一件困难的事情。


 


关键字 本文所属关键字

相关 与本文相关文章

分类 所有文章关键字导航

源码编程相关

Java   Asp   PHP   .Net   XML   C/C++   CGI   VB   Jsp   J2ee   J2se   J2me   EJB   Servlet   Tomcat   Resin   Struts   Weblogic   Eclipse   ANT   GUI   JMS   Web servise   IDEA   Webphere   Hibernate   Spring   Jboss   Applet   Swing   Socket   Javamail   Perl   Ajax   P2P   安全   模式   框架   测试   开源   游戏

SQL数据库相关

My-SQL   Ms-SQL   Access   DB2   Oracle   Sybase   SQLserver   索引   存储过程   加密   数据库   分页   视图  

手机无线相关

3G   Wap   CDMA   GRPS   GSM   IVR   彩信   短信   无线   增值业务

网页设计制作相关

HTML   CSS   网页配色   网页特效   Javascript   VBscript   Dreamweaver   Frontpage   JS   Web   网站设计

网站建设推广相关

建站经验   网站优化   网站排名   推广   Alexa

操作系统/服务器相关

Windows XP   Windows 2000   Windows 2003   Windows Me   Windows 9.x   Linux   UNIX   注册表   操作系统   服务器   应用服务器

图形图像多媒体相关

Photoshop   Fireworks   Flash   Coreldraw   Illustrator   Freehand   Photoimpact   多媒体   图形图像

标准 网站致力的规范

Valid CSS!

无不良内容,无不良广告,无恶意代码

Valid XHTML 1.0 Transitional

creativecommons