用JavaMail发送HTML格式的邮件

java 代码
  1. import java.security.Security;   
  2. import java.util.Date;   
  3. import java.util.HashMap;   
  4. import java.util.Map;   
  5. import java.util.Properties;   
  6.   
  7. import javax.mail.Authenticator;   
  8. import javax.mail.Message;   
  9. import javax.mail.Multipart;   
  10. import javax.mail.PasswordAuthentication;   
  11. import javax.mail.Session;   
  12. import javax.mail.Transport;   
  13. import javax.mail.internet.InternetAddress;   
  14. import javax.mail.internet.MimeBodyPart;   
  15. import javax.mail.internet.MimeMessage;   
  16. import javax.mail.internet.MimeMultipart;   
  17.   
  18. import org.apache.commons.logging.Log;   
  19. import org.apache.commons.logging.LogFactory;   
  20.   
  21. import cn.soyu.util.MailClient;   
  22. import cn.soyu.shopping.view.orders;   
  23.   
  24. /**  
  25.  * 使用Gmail发送邮件  
  26.  *   
  27.  * @author Rain Chen  
  28.  */  
  29. public class GmailSender {   
  30.   
  31.     private static final Log logger = LogFactory.getLog(GmailSender.class);   
  32.   
  33.     private static final String SSL_FACTORY = "javax.net.ssl.SSLSocketFactory";   
  34.   
  35.     private static final String USERNAME = "gdunser";//设定邮箱的用户名   
  36.   
  37.     private static final String PASSWORD = "123456";//设定邮箱的密码   
  38.   
  39.     private static final String TO_EMAIL = "[email protected]";//设定收件人的信箱   
  40.   
  41.     private static final String SUBJECT = "你有新订单!";//设定邮件标题   
  42.   
  43.     private static final String FROM = "[email protected]";//设定发件件的人   
  44.   
  45.     private static final String SMTP = "smtp.gmail.com";   
  46.   
  47.     public static void sender(String subject, String content) throws Exception {   
  48.   
  49.         Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider());   
  50.         // Get a Properties object   
  51.         Properties props = System.getProperties();   
  52.         props.setProperty("mail.smtp.host", SMTP);   
  53.         props.setProperty("mail.smtp.socketFactory.class", SSL_FACTORY);   
  54.         props.setProperty("mail.smtp.socketFactory.fallback""false");   
  55.         props.setProperty("mail.smtp.port""465");   
  56.         props.setProperty("mail.smtp.socketFactory.port""465");   
  57.         props.put("mail.smtp.auth""true");   
  58.   
  59.         Session session = Session.getDefaultInstance(props,   
  60.                 new Authenticator() {   
  61.                     protected PasswordAuthentication getPasswordAuthentication() {   
  62.                         return new PasswordAuthentication(USERNAME, PASSWORD);   
  63.                     }   
  64.                 });   
  65.   
  66.         Message msg = new MimeMessage(session);   
  67.         InternetAddress[] address = null;   
  68.         // 设定发邮件的人   
  69.         msg.setFrom(new InternetAddress(FROM));   
  70.   
  71.         // 设定收信人的信箱   
  72.         address = InternetAddress.parse(TO_EMAIL, false);   
  73.         msg.setRecipients(Message.RecipientType.TO, address);   
  74.   
  75.         // 设定信中的主题   
  76.         msg.setSubject(subject);   
  77.   
  78.         // 设定送信的时间   
  79.         msg.setSentDate(new Date());   
  80.   
  81.         Multipart mp = new MimeMultipart();   
  82.         MimeBodyPart mbp = new MimeBodyPart();   
  83.   
  84.         // 设定邮件内容的类型为 text/plain 或 text/html   
  85.         mbp.setContent(content, "text/html;charset=GB2312");   
  86.         mp.addBodyPart(mbp);   
  87.         msg.setContent(mp);   
  88.   
  89.         Transport transport = session.getTransport("smtp");   
  90.         transport.connect(SMTP, USERNAME, PASSWORD);   
  91.         transport.sendMessage(msg, msg.getAllRecipients());   
  92.         transport.close();   
  93.     }   
  94.   
  95.     public static void main(String[] args) throws Exception {   
  96.   
  97.         sender(   
  98.                 SUBJECT,   
  99.                 "

    恭喜你!收到邮件了!

    www.3km.com.cn 

    ");   
  100.         System.out.println("Message sent.");   
  101.     }   
  102. }   

你可能感兴趣的:(Java)