javaMail编写案列

  1 package common.impl;
  2 import java.util.Properties;
  3 
  4 import javax.mail.BodyPart;
  5 import javax.mail.Message;
  6 import javax.mail.MessagingException;
  7 import javax.mail.Multipart;
  8 import javax.mail.Session;
  9 import javax.mail.Transport;
 10 import javax.mail.internet.AddressException;
 11 import javax.mail.internet.InternetAddress;
 12 import javax.mail.internet.MimeBodyPart;
 13 import javax.mail.internet.MimeMessage;
 14 import javax.mail.internet.MimeMultipart;
 15 import javax.servlet.http.HttpSession;
 16 
 17 import org.apache.struts2.ServletActionContext;
 18 
 19 /****************************************************************
 20  * 对邮箱使用(对于其他的使用类似的你应该也会更改了)
 21  * 首先把邮箱的POP3 SMTP打开
 22  * 首先确定你的网络正常、非代理
 23  * 确定你的邮箱开启了SMTP
 24  * 如果没有开启,那么这样设置下
 25  * 设置->账户 --在下面-- 把这个选上    [√]SMTP发信后保存到服务器
 26  * 经过验证新浪 /网易邮箱可以往qq/sina/163发邮件但是qq不能作为发送方 
 27  ****************************************************************/
 28 
 29 public class JavaMail {
 30       //设置服务器
 31     private static String KEY_SMTP         = "mail.smtp.host";
 32     private static String VALUE_SMTP     = "smtp.sina.com";
 33     //服务器验证
 34     private static String KEY_PROPS     = "mail.smtp.auth";
 35     private static boolean VALUE_PROPS     = true;
 36     //发件人用户名、密码
 37     private String SEND_USER             = "111@sina.com";//你的邮箱
 38     private String SEND_UNAME             = "111@sina.com"; //你的邮箱
 39     private String SEND_PWD             = "111111";     //你的邮箱密码
 40     //建立会话
 41     private MimeMessage message;
 42     private Session s;
 43     
 44     /*
 45      * 初始化方法
 46      * */
 47     public void SendEmail(){
 48         Properties props = System.getProperties();
 49         props.setProperty(KEY_SMTP, VALUE_SMTP);
 50         props.put(KEY_PROPS, VALUE_PROPS);
 51         s = Session.getInstance(props);
 52         s.setDebug(true);/*开启后有调试信息*/
 53         message = new MimeMessage(s);  
 54     }
 55      
 56     /**
 57      * 发送邮件
 58      * @param headName         邮件头文件名
 59      * @param sendHtml         邮件内容
 60      * @param receiveUser     收件人1111@qq.com
 61      */
 62     public void doSendHtmlEmail(String headName,String sendHtml,String receiveUser){
 63         try {
 64             SendEmail();
 65             // 发件人  
 66             InternetAddress from = new InternetAddress(SEND_USER);
 67             message.setFrom(from);  
 68             // 收件人  
 69             InternetAddress to = new InternetAddress(receiveUser);  
 70             message.setRecipient(Message.RecipientType.TO, to);  
 71             // 邮件标题  
 72             message.setSubject(headName);
 73             String content = sendHtml.toString();
 74             // MiniMultipart类是一个容器类,包含MimeBodyPart类型的对象   
 75             Multipart mainPart = new MimeMultipart();   
 76             // 创建一个包含HTML内容的MimeBodyPart   
 77             BodyPart html = new MimeBodyPart();   
 78             // 设置HTML内容   
 79             html.setContent(content, "text/html; charset=utf-8");   
 80             mainPart.addBodyPart(html);   
 81             // 将MiniMultipart对象设置为邮件内容   
 82             message.setContent(mainPart);   
 83             message.setSentDate(new java.util.Date());//设置发信时间
 84             message.saveChanges();  
 85             Transport transport = s.getTransport("smtp");  
 86             // smtp验证,就是你用来发邮件的邮箱用户名密码  
 87             transport.connect(VALUE_SMTP, SEND_UNAME, SEND_PWD);  
 88             // 发送  
 89             transport.sendMessage(message, message.getAllRecipients());  
 90             transport.close();  
 91         } catch (AddressException e) {
 92             // TODO Auto-generated catch block
 93             e.printStackTrace();
 94         } catch (MessagingException e) {
 95             e.printStackTrace();
 96         }  
 97     }
 98     
 99 }
100 
101 
102  
原文地址:https://www.cnblogs.com/weilantiankong/p/4643198.html