生成授权码
spring-boot-starter-mail 是 Spring Boot 的一个 Starter,它提供了集成 JavaMail Sender 和对应配置的自动配置。
org.springframework.boot
spring-boot-starter-mail
#这里配置的是qq邮箱
spring.mail.host=smtp.qq.com
spring.main.port=465
spring.mail.username=
#授权码g,在QQ邮箱客户端生成 修改成自己的 设置-账户-开启服务-获取授权码
spring.mail.password=bhyaiszqhyrqchaj #换成你的授权码
spring.mail.properties.mail.smtp.auth=true
spring.mail.properties.mail.smtp.starttls.enable=true
spring.mail.properties.mail.smtp.starttls.required=true
@Autowired
private JavaMailSender mailSender;
//文本内容
public void sendEmail(String to, String subject, String text) {
SimpleMailMessage message = new SimpleMailMessage();
message.setFrom("[email protected]");
message.setTo(to);
message.setSubject(subject);
message.setText(text);
mailSender.send(message);
}
/**html内容
* 使用mailSender.createMimeMessage()方法创建了一个MimeMessage对象。
* 然后,通过创建MimeMessageHelper对象,并传入MimeMessage对象,可以使用MimeMessageHelper
* 对象的方法来设置邮件的各种属性。
* @param to 目标邮箱
* @param subject 邮件名
* @param text 正文
* @throws MessagingException
*/
public void sendMineEmail(String to, String subject, String text) throws MessagingException {
MimeMessage mimeMessage = mailSender.createMimeMessage();
MimeMessageHelper message = new MimeMessageHelper(mimeMessage);
message.setFrom("[email protected]");
message.setTo(to);
message.setSubject(subject);
message.setText(text,true);
mailSender.send(message.getMimeMessage());
}
Echo - 激活账号
, 您好!
您正在注册 Echo, 这是一封激活邮件, 请点击
此链接,
激活您的 Echo 账号!
@Autowired
private TemplateEngine templateEngine;#注入模版引擎
@Autowired
EmailMessageUtil emailMessageUtil;#注入工具类
//向用户邮箱发送邮件,激活账户
Context context=new Context();
context.setVariable("email", user.getEmail());
//http://localhost:9000/active/code
String url="http://"+address+":"+port+"/activation/userId/code";
context.setVariable("url", url);
//使用模板引擎生成内容
String content = templateEngine.process("/mail/activation", context);
emailMessageUtil.sendMineEmail(user.getEmail(), "激活账户",content);