1. 申请授权码
在客户端设置,开启授权密码,记得保存,
2.直接上代码
public static void main(String[] args) {
//接收方email
String receive="11111111@qq.com";
//邮件主题
String subject="生日祝福!";
//邮件内容
String content="祝您生日快乐!";
//发送方
String sendEmail="22222222@136.com";
// 授权码,之前所保存的
String password="5dxxxxxxxxhe";
try {
//设置服务器验证信息
Properties prop = new Properties();
prop.setProperty("mail.smtp.auth", "true");
// 加密端口(ssl)
prop.setProperty("mail.smtp.timeout", "994");
// SSL加密
MailSSLSocketFactory sf = new MailSSLSocketFactory();
// 设置信任所有的主机
sf.setTrustAllHosts(true);
prop.put("mail.smtp.ssl.enable", "true");
prop.put("mail.smtp.ssl.socketFactory", sf);
//设置邮件内容
JavaMailSenderImpl javaMailSend = new JavaMailSenderImpl();
MimeMessage message = javaMailSend.createMimeMessage();
MimeMessageHelper messageHelper = new MimeMessageHelper(message, true, "utf-8");
//设置昵称
String nick = MimeUtility.encodeText(sendEmail);
// 邮件发送者
messageHelper.setFrom(new InternetAddress(nick + " <" + sendEmail + ">"));
messageHelper.setTo(receive);
messageHelper.setSubject(subject);
messageHelper.setText(content, true);
//设置邮件服务器登录信息
javaMailSend.setHost("smtphz.qiye.163.com");
javaMailSend.setUsername(sendEmail);
javaMailSend.setPassword(password);
javaMailSend.setJavaMailProperties(prop);
javaMailSend.send(message);
} catch (Exception e) {
e.printStackTrace();
}
}
引入的包:
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeUtility;
import com.sun.mail.util.MailSSLSocketFactory;
import org.springframework.mail.javamail.JavaMailSenderImpl;
import org.springframework.mail.javamail.MimeMessageHelper;
以上代码简单调整即可使用(只修改基础信息即可)
3.如果出现报错
AuthenticationFailedException Read timed out
可查看:网易企业邮件发送 AuthenticationFailedException Read timed out
4.邮件模板发送可参照:
模板发送邮件