标签:
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
标签:
原文地址:http://www.cnblogs.com/weilantiankong/p/4643198.html