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

java后台实现发送邮件的功能

2017-09-14 22:13 459 查看
package test;

import java.util.Date;
import java.util.Properties;
import javax.mail.Authenticator;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;

public class SendEmail {
public static final String HOST = "smtp.163.com";
public static final String PROTOCOL = "smtp";
public static final int PORT = 25;
public static final String FROM = "*****@163.com";//发件人的email
public static final String PWD = "*****";//发件人密码(授权密码)

/**
* 获取Session
* @return
*/
private static Session getSession() {
Properties props = new Properties();
props.put("mail.smtp.host", HOST);//设置服务器地址
props.put("mail.store.protocol" , PROTOCOL);//设置协议
props.put("mail.smtp.port", PORT);//设置端口
props.put("mail.smtp.auth" , "true");//身份认证

Authenticator authenticator = new Authenticator() {

@Override
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(FROM, PWD);
}

};
Session session = Session.getDefaultInstance(props , authenticator);

return session;
}

public static void send(String toEmail , String content) {
Session session = getSession();
try {
System.out.println("--send--"+content);
// Instantiate a message
Message msg = new MimeMessage(session);

//Set message attributes
msg.setFrom(new InternetAddress(FROM));
InternetAddress[] address = {new InternetAddress(toEmail)};
msg.setRecipients(Message.RecipientType.TO, address);
msg.setSubject("账号激活邮件");
msg.setSentDate(new Date());
msg.setContent(content , "text/html;charset=utf-8");

//Send the message
Transport.send(msg);
}
catch (MessagingException mex) {
mex.printStackTrace();
}
}

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