<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 閱讀(1481) 評論(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
    @草包書生
    不客氣,如果能由于我的分享給大家帶來方便,我感到很快樂。  回復  更多評論
      

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


    網站導航:
     
    主站蜘蛛池模板: 亚洲乱码中文论理电影| 精品免费tv久久久久久久| 久久亚洲AV成人无码国产| 国产亚洲福利一区二区免费看| 99re免费在线视频| 丰满少妇作爱视频免费观看| 国产精品亚洲片夜色在线| 亚洲激情在线观看| 亚洲人成色77777| 亚洲精品国产高清不卡在线| 欧美a级成人网站免费| 亚洲黄色片免费看| 久久爰www免费人成| 国内精品免费在线观看 | 免费电视剧在线观看| 91香蕉国产线观看免费全集| 中文字幕乱码免费看电影| 四虎影视在线看免费观看| 亚洲av中文无码字幕色不卡| 亚洲人成小说网站色| 亚洲ts人妖网站| 亚洲妓女综合网99| 亚洲人成电影网站| 亚洲国产高清视频在线观看| 久久精品国产亚洲av四虎| 久久亚洲精品成人777大小说| 伊人久久大香线蕉亚洲| 国产亚洲精品久久久久秋霞| 亚洲色婷婷一区二区三区| 亚洲日本乱码在线观看| 亚洲人成77777在线播放网站| 亚洲色精品vr一区二区三区| 亚洲男人的天堂www| 亚洲va无码va在线va天堂| 亚洲国产精品无码av| 亚洲国产老鸭窝一区二区三区| 精品日韩亚洲AV无码一区二区三区| 亚洲精品不卡视频| 亚洲一区二区三区在线观看蜜桃| 亚洲人成伊人成综合网久久| 亚洲精品午夜国产va久久|