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

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


    網站導航:
     
    主站蜘蛛池模板: 在线天堂免费观看.WWW| 在线日韩日本国产亚洲| 国产AV日韩A∨亚洲AV电影 | 亚洲无线一二三四区手机| 久久精品国产免费一区| 77777亚洲午夜久久多喷| jjzz亚洲亚洲女人| 57pao国产成永久免费视频| 亚洲国产精品无码久久| 亚洲精品国产精品乱码视色 | 两个人看的www视频免费完整版| 亚洲黄色片免费看| 亚洲国产黄在线观看| 在线观看永久免费| 国产福利在线观看永久免费| 亚洲国产成人精品激情| 精品亚洲综合在线第一区| 浮力影院第一页小视频国产在线观看免费 | 精品一区二区三区高清免费观看 | 亚洲国产天堂在线观看| 国产在线a不卡免费视频| 日本免费人成在线网站| 久久久久久国产a免费观看不卡 | 国产AV无码专区亚洲AV麻豆丫 | 亚洲综合精品第一页| 久久亚洲精品中文字幕无码| 国产极品粉嫩泬免费观看| 亚洲w码欧洲s码免费| a一级爱做片免费| 亚洲精品自偷自拍无码| 亚洲美女自拍视频| 丝袜熟女国偷自产中文字幕亚洲| 女性无套免费网站在线看| 99国产精品免费观看视频| 成人无码视频97免费| 日本中文字幕免费看| 亚洲私人无码综合久久网| 亚洲精品在线免费观看| 亚洲AV永久无码精品水牛影视| 国产18禁黄网站免费观看| 麻豆国产人免费人成免费视频|