前言
获取163邮箱或者qq邮箱的授权码(百度即可)
1.在SpringBoot工程中引入依赖
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-mail</artifactId> </dependency>
2.修改application.yml
spring: mail: #smtp服务主机 qq邮箱则为smtp.qq.com host: smtp.163.com #服务协议 protocol: smtp # 编码集 default-encoding: UTF-8 #发送邮件的账户 username: xxx@163.com #授权码 password: XXXXXXXX test-connection: true properties: mail: smtp: auth: true starttls: enable: true required: true
3.代码编写
3.1实体类entity
public class ToEmail { /** * 邮件接收方,可多人 */ private String[] tos; /** * 邮件主题 */ private String subject; /** * 邮件内容 */ private String content; //get set方法 }
3.2业务逻辑service
@Service public class EmailService { //获取发送方账户信息 @Value("${spring.mail.username}") private String from; @Autowired private JavaMailSender mailSender; /** * <b>方法名: </b> commonEmail <br> * <b>说明: </b> 普通邮件发送 <br> * <b>修改履历: </b> * * @param toEmail null * @return JsonReturn<br> * @author 2021/10/21 Allen */ public String commonEmail(ToEmail toEmail) { //创建简单邮件消息 SimpleMailMessage message = new SimpleMailMessage(); //谁发的 message.setFrom(from); //谁要接收 message.setTo(toEmail.getTos()); //邮件标题 message.setSubject(toEmail.getSubject()); //邮件内容 message.setText(toEmail.getContent()); try { mailSender.send(message); return toEmail.getTos() + "发送普通邮件成功"; } catch (MailException e) { e.printStackTrace(); return "普通邮件方失败"; } } }