<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆-193  評論-715  文章-1  trackbacks-0
    1,讀入圖片的方式:
    發現網上講的很多讀取圖片的方式都不對,按下面提供的這個方法來讀取,保證成功。
    ?1????private?byte[]?getImageBytes(String?file)?{
    ?2????????byte[]?myData?=?null;
    ?3????????InputStream?input?=?getClass().getClassLoader().getResourceAsStream(
    ?4????????????????file);
    ?5????????try?{
    ?6????????????ByteArrayOutputStream?byteArray?=?new?ByteArrayOutputStream();
    ?7????????????int?ch?=?0;
    ?8????????????while?((ch?=?input.read())?!=?-1)?{
    ?9????????????????byteArray.write(ch);
    10????????????}

    11????????????//?System.out.println(byteArray.size());
    12????????????myData?=?byteArray.toByteArray();
    13????????????//?System.out.println(myData.length);
    14????????}
    ?catch?(Exception?e)?{
    15????????????e.printStackTrace();
    16????????}

    17????????return?myData;
    18????}

    2,發送郵件的“機關”
    ?1????????MimeMessage?msg?=?new?MimeMessage(mailSession);
    ?2????????msg.setFrom(new?InternetAddress(this.getSenderAddress()));
    ?3????????msg.setSubject(this.getTitle());
    ?4????????msg.setSentDate(new?Date());
    ?5????????Address[]?adds?=?InternetAddress.parse(getToAddress());
    ?6????????msg.addRecipients(javax.mail.Message.RecipientType.TO,?adds);
    ?7????????//?新建一個MimeMultipart對象用來存放BodyPart對象(事實上可以存放多個)
    ?8????????MimeMultipart?mm?=?new?MimeMultipart("related");
    ?9????????//?新建一個存放信件內容的BodyPart對象
    10????????BodyPart?mdp?=?new?MimeBodyPart();
    11????????//?給BodyPart對象設置內容和格式/編碼方式
    12????????mdp.setContent(this.getContent(),?"text/html;charset=utf-8");
    13????????//?這句很重要,千萬不要忘了
    14????????mm.addBodyPart(mdp);
    15
    16????????//?---------圖片處理開始!!!!!!!!!!!!!!!!
    17????????mdp?=?new?MimeBodyPart();
    18????????byte?bbb[]?=?new?byte[1024?*?10];
    19????????this.getClass().getClassLoader().getResourceAsStream("notice.jpg")
    20????????????????.read(bbb);
    21????????DataHandler?dh?=?new?DataHandler(new?ByteArrayDataSource(this
    22????????????????.getImageBytes("notice.jpg"),?"application/octet-stream"));
    23????????mdp.setDataHandler(dh);
    24????????//?加上這句將作為附件發送,否則將作為信件的文本內容
    25????????mdp.setFileName("1.jpg");
    26????????mdp.setHeader("content-id",?"<IMG1>");
    27????????//?將含有附件的BodyPart加入到MimeMultipart對象中
    28????????mm.addBodyPart(mdp);
    29????????//?---------圖片處理結束!!!!!!!!!!!!!!!!
    30
    31????????//?把mm作為消息對象的內容
    32????????msg.setContent(mm);
    仔細看代碼中的注釋吧,相信大有幫助。

    3,一個實際應用的完整代碼
    要求根據一個格式文件和模版,發一封漂亮的郵件,所以需要用到HTML格式來發送郵件。不多說了,看代碼吧!


    4,小技巧
    我第一次發送后,發現讀取圖片的程序不對,在Outlook 2003中打開郵件,發現沒有出現圖片,搞半天也不知道是什么原因,后來我用FoxMail打開郵件,發現圖片附件上打了個叉叉,才知道是附件中的圖片讀取不對,如果你有這樣的問題,不妨換個Mail客戶端試試。
    posted on 2007-12-03 16:42 Robin's Programming World 閱讀(1482) 評論(4)  編輯  收藏

    評論:
    # re: 用Java Mail發送帶圖片附件的要點 2007-12-03 17:58 | HiMaigc!
    不錯,很完整的說明。  回復  更多評論
      
    # re: 用Java Mail發送帶圖片附件的要點 2007-12-04 09:11 | 千里冰封
    不錯,很詳細,  回復  更多評論
      
    # re: 用Java Mail發送帶圖片附件的要點 2008-04-01 22:14 | 草包書生
    我正在為發送附件問題而煩惱,thanks for you  回復  更多評論
      
    # re: 用Java Mail發送帶圖片附件的要點 2008-04-10 02:27 | Robin's Java World
    @草包書生
    不客氣,如果能由于我的分享給大家帶來方便,我感到很快樂。  回復  更多評論
      

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 日本高清高色视频免费| 亚洲精品天堂无码中文字幕| 亚洲国产精品无码中文字| 久久亚洲精品无码播放| 国产亚洲美日韩AV中文字幕无码成人| 亚洲AV无码成人精品区大在线| 午夜亚洲福利在线老司机| 亚洲成?v人片天堂网无码| 亚洲欧洲日产国码一级毛片| 亚洲精品一级无码中文字幕| 中文字幕不卡亚洲| 亚洲男人的天堂www| 婷婷亚洲久悠悠色悠在线播放| 亚洲avav天堂av在线不卡| 亚洲美女激情视频| 7777久久亚洲中文字幕| 亚洲中文字幕乱码一区| 久久精品国产亚洲av瑜伽| 又粗又长又爽又长黄免费视频 | 国产亚洲精品成人久久网站 | 亚洲欧洲国产日韩精品| 亚洲视频在线不卡| 亚洲熟妇无码av另类vr影视| 无码亚洲成a人在线观看| 一本久久A久久免费精品不卡| 水蜜桃视频在线观看免费播放高清 | 亚洲高清国产拍精品青青草原| 国产精品亚洲不卡一区二区三区 | 亚洲日韩中文字幕日韩在线 | 国产精品无码免费视频二三区| 亚洲成av人片天堂网老年人| 久久久久久a亚洲欧洲aⅴ| 亚洲高清日韩精品第一区| 亚洲最大无码中文字幕| 一边摸一边爽一边叫床免费视频 | 人禽伦免费交视频播放| 国产精品免费看久久久| 成年私人影院免费视频网站| 亚洲人成影院在线观看| 久久亚洲日韩看片无码| 成人婷婷网色偷偷亚洲男人的天堂|