javaMail编写案列
2015-07-13 16:11
260 查看
package common.impl; import java.util.Properties; import javax.mail.BodyPart; import javax.mail.Message; import javax.mail.MessagingException; import javax.mail.Multipart; import javax.mail.Session; import javax.mail.Transport; import javax.mail.internet.AddressException; import javax.mail.internet.InternetAddress; import javax.mail.internet.MimeBodyPart; import javax.mail.internet.MimeMessage; import javax.mail.internet.MimeMultipart; import javax.servlet.http.HttpSession; import org.apache.struts2.ServletActionContext; /**************************************************************** * 对邮箱使用(对于其他的使用类似的你应该也会更改了) * 首先把邮箱的POP3 SMTP打开 * 首先确定你的网络正常、非代理 * 确定你的邮箱开启了SMTP * 如果没有开启,那么这样设置下 * 设置->账户 --在下面-- 把这个选上 [√]SMTP发信后保存到服务器 * 经过验证新浪 /网易邮箱可以往qq/sina/163发邮件但是qq不能作为发送方 ****************************************************************/ public class JavaMail { //设置服务器 private static String KEY_SMTP = "mail.smtp.host"; private static String VALUE_SMTP = "smtp.sina.com"; //服务器验证 private static String KEY_PROPS = "mail.smtp.auth"; private static boolean VALUE_PROPS = true; //发件人用户名、密码 private String SEND_USER = "111@sina.com";//你的邮箱 private String SEND_UNAME = "111@sina.com"; //你的邮箱 private String SEND_PWD = "111111"; //你的邮箱密码 //建立会话 private MimeMessage message; private Session s; /* * 初始化方法 * */ public void SendEmail(){ Properties props = System.getProperties(); props.setProperty(KEY_SMTP, VALUE_SMTP); props.put(KEY_PROPS, VALUE_PROPS); s = Session.getInstance(props); s.setDebug(true);/*开启后有调试信息*/ message = new MimeMessage(s); } /** * 发送邮件 * @param headName 邮件头文件名 * @param sendHtml 邮件内容 * @param receiveUser 收件人1111@qq.com */ public void doSendHtmlEmail(String headName,String sendHtml,String receiveUser){ try { SendEmail(); // 发件人 InternetAddress from = new InternetAddress(SEND_USER); message.setFrom(from); // 收件人 InternetAddress to = new InternetAddress(receiveUser); message.setRecipient(Message.RecipientType.TO, to); // 邮件标题 message.setSubject(headName); String content = sendHtml.toString(); // MiniMultipart类是一个容器类,包含MimeBodyPart类型的对象 Multipart mainPart = new MimeMultipart(); // 创建一个包含HTML内容的MimeBodyPart BodyPart html = new MimeBodyPart(); // 设置HTML内容 html.setContent(content, "text/html; charset=utf-8"); mainPart.addBodyPart(html); // 将MiniMultipart对象设置为邮件内容 message.setContent(mainPart); message.setSentDate(new java.util.Date());//设置发信时间 message.saveChanges(); Transport transport = s.getTransport("smtp"); // smtp验证,就是你用来发邮件的邮箱用户名密码 transport.connect(VALUE_SMTP, SEND_UNAME, SEND_PWD); // 发送 transport.sendMessage(message, message.getAllRecipients()); transport.close(); } catch (AddressException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (MessagingException e) { e.printStackTrace(); } } }
相关文章推荐
- jstl 的应用 java
- Java FileInputStream与FileReader的区别
- JAVA GC 新生代 老年代
- Struts2拦截器模拟
- java
- java注解
- [LeetCode][Java] First Missing Positive
- java解析APK
- 【Java】动物收容所
- 通过maven构建一个java项目
- java.net.InetAddress.getLocalHost(InetAddress.java:1473) java.net.Unknown
- JAVA更改软件标题栏默认图标的方法
- java初始化顺序
- Java正则表达式
- eclipse 打断点不进入debug模式
- JAVA之Set
- eclipse安装和JDK的配置
- java URL和URLConnection的例子
- Spring 注解拦截器使用详解
- java 多线程