实现创建一个html
Title
邮箱:
验证码:
创建一个邮箱发送的类
package email1;
import javax.mail.*;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import java.util.Properties;
public class EmailDemo {
public void fromEmail(String code,String email){
//先登入QQ邮箱服务器
//创建会话前设置参数
Properties properties = new Properties();
//设置key-vaule
properties.setProperty("mail.host","smtp.qq.com");
properties.setProperty("mail.smtp.auth", "true");
//发送邮件采用的协议
properties.setProperty("mail.transport.protocol","smtp");
//会话
Session session = Session.getDefaultInstance(properties);
Transport ts =null;
try {
// 获取传输对象 发送邮件
ts = session.getTransport();
// 发送邮件前,校验账号密码(授权码)
ts.connect("发送人邮箱","pop3协议授权码");
//构建一封邮件
MimeMessage message = new MimeMessage(session);
//发件人
message.setFrom(new InternetAddress("发件人邮箱"));
//收件人
// Message.RecipientType.TO 收件人
// Message.RecipientType.CC 抄送
// Message.RecipientType.BCC 暗送
message.setRecipient(Message.RecipientType.TO, new InternetAddress(email));
// message.setRecipient(Message.RecipientType.CC, new InternetAddress("2175902747@qq.com"));
//主题
message.setSubject("账号注册验证码");
//正文
message.setContent("您好,来自三峰博客您的六位验证码是:"+code+",请不要告诉别人30分钟有效!","text/html;charset=utf-8");
//保存邮件
message.saveChanges();
//发送邮件
ts.sendMessage(message, message.getAllRecipients());
} catch (Exception e) {
e.printStackTrace();
}finally{
try {
ts.connect();
} catch (MessagingException e) {
e.printStackTrace();
}
}
}
}
创建一个controller,让前端可以调用邮件发送类
@RequestMapping("/code")
@ResponseBody
public String code(HttpSession session,String email){
int i = (int) (r.nextDouble()*1000000);
String code = i>100000? i+"" :i+100000 +"";
session.setAttribute("code",code);
EmailDemo emailDemo = new EmailDemo();
System.out.println(email+"==="+code);
// emailDemo.fromEmail(code,email);
return "发送成功!";
}


