您的位置:首页 > 编程语言 > Java开发

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();
}
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: