JavaMail發送Html郵件內容

jopen 9年前發布 | 2K 次閱讀 Java

import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeUtility;
import javax.mail.Session;
import javax.mail.MessagingException;
import javax.mail.Transport;

public class Test {
public static void sendMessage(String smtpHost,
String from, String to,
String subject, String messageText)
throws MessagingException,java.io.UnsupportedEncodingException {

     // Step 1:  Configure the mail session  
     System.out.println("Configuring mail session for: " + smtpHost);  
     java.util.Properties props = new java.util.Properties();  
     props.setProperty("mail.smtp.auth", "true");//指定是否需要SMTP驗證  
     props.setProperty("mail.smtp.host", smtpHost);//指定SMTP服務器  
     props.put("mail.transport.protocol", "smtp");  
     Session mailSession = Session.getDefaultInstance(props);  
     mailSession.setDebug(true);//是否在控制臺顯示debug信息  

     // Step 2:  Construct the message  
     System.out.println("Constructing message -  from=" + from + "  to=" + to);  
     InternetAddress fromAddress = new InternetAddress(from);  
     InternetAddress toAddress = new InternetAddress(to);  

     MimeMessage testMessage = new MimeMessage(mailSession);  
     testMessage.setFrom(fromAddress);  
     testMessage.addRecipient(javax.mail.Message.RecipientType.TO, toAddress);  
     testMessage.setSentDate(new java.util.Date());  
     testMessage.setSubject(MimeUtility.encodeText(subject,"gb2312","B"));  

    testMessage.setContent(messageText, "text/html;charset=gb2312");  
     System.out.println("Message constructed");  

    // Step 3:  Now send the message  
     Transport transport = mailSession.getTransport("smtp");  
     transport.connect(smtpHost, "yuzhong@163.com", "4542");  
     transport.sendMessage(testMessage, testMessage.getAllRecipients());  
     transport.close();  

     System.out.println("Message sent!");  
 }  

 public static void main(String[] args) {  

     String smtpHost = "smtp.163.com";  
     String from = "yuzhong@163.com";  
     String to = "474577@qq.com";  
     String subject = "html郵件測試"; //subject javamail自動轉碼  

     StringBuffer theMessage = new StringBuffer();  
     theMessage.append("<h2><font color=red>這倒霉孩子</font></h2>");  
     theMessage.append("<hr>");  
     theMessage.append("<i>年年失望年年望</i>");  
     try {  
        Test.sendMessage(smtpHost, from, to, subject, theMessage.toString());  
     }  
     catch (javax.mail.MessagingException exc) {  
         exc.printStackTrace();  
     }  
     catch (java.io.UnsupportedEncodingException exc) {  
         exc.printStackTrace();  
     }  
 }  

}</pre>

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!