<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

    最新評論

    閱讀排行榜

    主站蜘蛛池模板: 久久精品国产亚洲Aⅴ蜜臀色欲| 曰批视频免费30分钟成人| 日韩激情淫片免费看| 亚洲乱码一二三四区国产| 久久亚洲免费视频| 成人精品视频99在线观看免费| 亚洲国产综合无码一区二区二三区| 亚洲中文字幕伊人久久无码| 理论秋霞在线看免费| 亚洲国产成人久久精品99| 激情内射亚洲一区二区三区| 亚洲av日韩精品久久久久久a| 99久久免费国产精品热| 国产亚洲3p无码一区二区| av永久免费网站在线观看 | 光棍天堂免费手机观看在线观看| 国产精品亚洲高清一区二区| 国产免费久久精品99久久| 亚洲精品国产字幕久久不卡| 国产麻豆一精品一AV一免费| 亚洲av日韩av高潮潮喷无码| 亚洲综合免费视频| 亚洲看片无码在线视频| 国产成人免费手机在线观看视频| 爱情岛亚洲论坛在线观看| 精品亚洲一区二区三区在线播放| 免费污视频在线观看| 亚洲国产中文在线视频| 日韩免费观看视频| 国产免费一区二区三区不卡| 亚洲美女免费视频| 在线观看免费国产视频| 久久国产一片免费观看| 亚洲老熟女@TubeumTV| 暖暖在线日本免费中文| A级毛片成人网站免费看| 亚洲免费中文字幕| 亚洲AV成人潮喷综合网| 99在线热视频只有精品免费| 亚洲爆乳无码专区www| 国产亚洲精品观看91在线|