国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

JavaMail快速入門-8

2019-11-18 16:20:28
字體:
來源:轉載
供稿:網友

  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()方法相似。

/**

* "speakMessage", a talking version of printMessage().

*/

public static void speakMessage(Message message)

{

 String speech="";

 try

 {

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

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

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

   speech=speech+"from "+from+", ";

   String subject=message.getSubject();

   speech=speech+"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);

    String contentType=messagePart.getContentType();

    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)

     {

      speech=speech+thisLine+". ";

      thisLine=reader.readLine();

     }

    // -- SPEAK --

    speaker.speak(speech,true);

   }

  }

  catch (Exception ex)

  {

   ex.printStackTrace();

  }

 }

  因為在說話之前,你正在把整個消息積累到一個字符串中,所以這個方案可能只適合小的消息。
作為一種選擇,你可以讀一行然后再講一行。

  當然,我不可能把結果顯示給你看,因此你必須親自來做實驗。

  你還可以做一些小的試驗,當然不是在這個試驗中,來發現語音合成的一些有趣的特征:怎樣處理數字,以及怎樣把全部大些的單詞假想成只取首字母的縮寫詞,然后一個一個字母地把它們拼出來。

  結論

  我們已經通過對發送和接收email消息的應用程序的各個基本構造塊分別講解,涉及到了收發email的方方面面。如果你是第一次接觸JavaMail,是不是發現在應用程序中收發email不是一件困難的事情。

(出處:http://m.survivalescaperooms.com)



發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 菏泽市| 广安市| 嘉善县| 辰溪县| 阳高县| 剑河县| 枞阳县| 兴化市| 荣成市| 岳阳市| 治多县| 永德县| 牟定县| 贵州省| 宁乡县| 庆云县| 西乌珠穆沁旗| 汉源县| 醴陵市| 中宁县| 蒙城县| 新余市| 仁布县| 兴安盟| 大丰市| 鸡西市| 如皋市| 辽阳县| 健康| 顺义区| 雷波县| 定南县| 河间市| 隆尧县| 四川省| 新闻| 云龙县| 绿春县| 泾川县| 察雅县| 石泉县|