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

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

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

    老妖的博客
    現實的中沒有幾個人能夠真為對方去死,甚至山盟海誓很快就會在金錢面前變的微不足道,這才是生活。沒有永遠的愛,除了你的父母對你,當然也就沒有永遠的恨,更沒有永遠的痛,時間是最好的治療大師,它會很快撫平你心靈上累累的傷痕。很多年以后你想起來時,那些在你生命中洶涌來往的人群至多是個模糊的影子或者毫無意義的名字
    posts - 105,  comments - 171,  trackbacks - 0

    使用javamail發送html郵件比較復雜

     

     1 package org.tatan.mail;
     2 
     3 import javax.mail.internet.InternetAddress;
     4 import javax.mail.internet.MimeMessage;
     5 import javax.mail.internet.MimeUtility;
     6 import javax.mail.Session;
     7 import javax.mail.MessagingException;
     8 import javax.mail.Transport;
     9 
    10 public class SendHtmlMail {
    11     public static void sendMessage(String smtpHost,
    12                                    String from, String to,
    13                                    String subject, String messageText)
    14             throws MessagingException,java.io.UnsupportedEncodingException {
    15 
    16         // Step 1:  Configure the mail session
    17         System.out.println("Configuring mail session for: " + smtpHost);
    18         java.util.Properties props = new java.util.Properties();
    19         props.setProperty("mail.smtp.auth""true");//指定是否需要SMTP驗證
    20         props.setProperty("mail.smtp.host", smtpHost);//指定SMTP服務器
    21         props.put("mail.transport.protocol""smtp");
    22         Session mailSession = Session.getDefaultInstance(props);
    23         mailSession.setDebug(true);//是否在控制臺顯示debug信息
    24 
    25         // Step 2:  Construct the message
    26         System.out.println("Constructing message -  from=" + from + "  to=" + to);
    27         InternetAddress fromAddress = new InternetAddress(from);
    28         InternetAddress toAddress = new InternetAddress(to);
    29 
    30         MimeMessage testMessage = new MimeMessage(mailSession);
    31         testMessage.setFrom(fromAddress);
    32         testMessage.addRecipient(javax.mail.Message.RecipientType.TO, toAddress);
    33         testMessage.setSentDate(new java.util.Date());
    34         testMessage.setSubject(MimeUtility.encodeText(subject,"gb2312","B"));
    35 
    36         testMessage.setContent(messageText, "text/html;charset=gb2312");
    37         System.out.println("Message constructed");
    38 
    39         // Step 3:  Now send the message
    40         Transport transport = mailSession.getTransport("smtp");
    41         transport.connect(smtpHost, "webmaster""password");
    42         transport.sendMessage(testMessage, testMessage.getAllRecipients());
    43         transport.close();
    44 
    45 
    46         System.out.println("Message sent!");
    47     }
    48 
    49     public static void main(String[] args) {
    50 
    51         String smtpHost = "localhost";
    52         String from = "webmaster@mymail.com";
    53         String to = "mfc42d@sohu.com";
    54         String subject = "html郵件測試"//subject javamail自動轉碼
    55 
    56         StringBuffer theMessage = new StringBuffer();
    57         theMessage.append("<h2><font color=red>這倒霉孩子</font></h2>");
    58         theMessage.append("<hr>");
    59         theMessage.append("<i>年年失望年年望</i>");
    60 
    61         try {
    62             SendHtmlMail.sendMessage(smtpHost, from, to, subject, theMessage.toString());
    63         }
    64         catch (javax.mail.MessagingException exc) {
    65             exc.printStackTrace();
    66         }
    67         catch (java.io.UnsupportedEncodingException exc) {
    68             exc.printStackTrace();
    69         }
    70     }
    71 }
    72 


    郵件頭(參見RFC822,RFC2047)只能包含US-ASCII字符。
    郵件頭中任何包含非US-ASCII字符的部分必須進行編碼,使其只包含US-ASCII字符。
    但是java mail可以根據JVM發送中文郵件自行編碼,,用它自帶的MimeUtility類的encodeText方法對中文信息進行編碼也可以。
    郵件正文必須有charset=gb2312否則為
    Content-Type: text/html; charset=us-ascii
    Content-Transfer-Encoding: 7bit
    打開郵件為亂碼,設置charset=gb2312后
    Content-Type: text/html;charset=gb2312
    Content-Transfer-Encoding: quoted-printable
    它不能用MimeUtility里的方法來編碼。
    郵件正文的編碼方式的信息是要放在Content-Transfer-Encoding這個郵件頭參數中的,
    而MimeUtility里面的方法是將編碼方式的信息放在編碼后的正文內容中。
    所以如果你對正文也用MimeUtility進行處理,那么其他郵件程序就不會正常顯示你編碼的郵件,
    因為其他郵件軟件如outlook,foxmail只會根據Content-Transfer-Encoding這個里面的信息來對郵件正文進行解碼。

    posted on 2005-11-03 19:36 老妖 閱讀(2592) 評論(2)  編輯  收藏

    FeedBack:
    # re: 使用javamail發送html郵件--摘自邢紅瑞的blog[未登錄]
    2013-05-24 10:54 | 123
    123  回復  更多評論
      
    # re: 使用javamail發送html郵件--摘自邢紅瑞的blog[未登錄]
    2013-05-24 10:54 | 456
    456  回復  更多評論
      

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


    網站導航:
     

    <2005年11月>
    303112345
    6789101112
    13141516171819
    20212223242526
    27282930123
    45678910

    常用鏈接

    隨筆分類(48)

    隨筆檔案(104)

    好友鏈接

    我的豆瓣

    積分與排名

    • 積分 - 220884
    • 排名 - 257

    最新評論

    閱讀排行榜

    主站蜘蛛池模板: 久久精品国产亚洲av成人| 亚洲精品免费在线| 无码精品人妻一区二区三区免费看 | 亚洲AV无码资源在线观看| 久久亚洲国产精品五月天婷| 一区二区免费视频| 久久亚洲精品成人无码| 亚洲色婷婷综合久久| 久久久久国产精品免费免费搜索 | 亚洲 无码 在线 专区| 亚洲视频在线观看免费| WWW亚洲色大成网络.COM| 亚洲v高清理论电影| 免费永久在线观看黄网站| 99视频免费观看| 永久免费无码日韩视频| 亚洲人成网站在线观看播放青青| 亚洲国产精品无码久久青草| 18国产精品白浆在线观看免费| 日韩免费码中文在线观看| 亚洲免费观看在线视频| 亚洲乱码中文字幕综合| 成年女人永久免费观看片| 久久国产色AV免费观看| 一级毛片正片免费视频手机看| 亚洲伊人久久大香线焦| 亚洲av午夜福利精品一区| 免费永久看黄在线观看app| 永久免费的网站在线观看| 精品一区二区三区免费| 曰批全过程免费视频免费看| 亚洲精品国产国语| 亚洲综合自拍成人| 久久精品国产亚洲沈樵| 亚洲人成网站观看在线播放| 噼里啪啦电影在线观看免费高清| 日本免费污片中国特一级| 一级白嫩美女毛片免费| 在线观看亚洲网站| 亚洲AV成人精品日韩一区| 亚洲无码一区二区三区|