1.pom文件中导入
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mail</artifactId>
</dependency>
2.application.properties中加入
(如果是yml格式,转换一下)
#下面这个不用改动
spring.mail.host=smtp.qq.com
#下面这个改成发件人QQ邮箱地址(需要和下面授权码邮箱保持一致)
spring.mail.username=********@qq.com
#下面这个是QQ邮箱授权码(获取授权码往下看)
spring.mail.password=*****
#以下三项不用改动
spring.mail.properties.mail.smtp.auth=true
spring.mail.properties.mail.smtp.starttls.enable=true
spring.mail.properties.mail.smtp.starttls.required=true
提示:
QQ授权码需前往QQ邮箱中获取,步骤如下:
1.前往QQ邮箱
2.进入设置界面,点击账户
3.进入账户页面,往下滑鼠标,找到(POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务)
点击 “POP3/SMTP服务 (如何使用 Foxmail 等软件收发邮件?)” 后面的状态改为开启,会让你发送短信。按照它的提示做,之后你会收到一个授权码。保存好!!!
前台代码省略…
3.去后台写一个发邮件的方法
package com.xx.xxc.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.mail.SimpleMailMessage;
import org.springframework.mail.javamail.JavaMailSender;
@Controller
public class MailController {
@Autowired
private JavaMailSender javaMailSender;
//这一步是获取application.properties中设置的发件人邮箱地址
@Value("${spring.mail.username}")
private String username;
//发送邮件(接收三个前台传过来的参数:addressee 收件人地址、theme 邮件主题、text 邮件正文)
@RequestMapping("sendMail")
public void sendMail(String addressee,String theme,String text){
//发邮件
SimpleMailMessage message = new SimpleMailMessage();
//发件人邮件地址(上面获取到的,也可以直接填写,string类型)
message.setFrom(username);
//收件人邮件地址
message.setTo(addressee);
//邮件主题
message.setSubject(theme);
//邮件正文
message.setText(text);
javaMailSender.send(message);
}
}