-- 创造无限可能

java SpringBoot发送邮件

2023-08-16 16:37:54
694 人浏览 0 人点赞
有用,点赞支持一下

引入依赖

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-mail</artifactId>
</dependency>

application.yml配置

spring:
    mail:
    #邮件发送配置
    host: smtp.qq.com
    port: 587
    username: xxx@qq.com
    password: xxx #邮件秘钥
    nickname: xxx
    properties:
      mail:
        smtp:
          auth: true
          starttls:
            enable: true
            required: true

添加一个发送邮件公共方法

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;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Controller;

/**
 * 发送邮件公共方法
 */
@Controller
public class MailService {

    private final Logger logger = LoggerFactory.getLogger(this.getClass());

    @Autowired
    private JavaMailSender sender;


    @Value("${spring.mail.nickname}")
    private String nickname;


    @Value("${spring.mail.username}")
    private String from;


    /**
     * 发送纯文本的简单邮件
     * @param to
     * @param subject
     * @param content
     */
    public void sendSimpleMail(String to, String subject, String content){
        SimpleMailMessage message = new SimpleMailMessage();
        message.setFrom(from);
        message.setTo(to);
        message.setSubject(subject);
        message.setText(content);
        //邮件发送人
        message.setFrom(nickname+'<'+from+'>');

        try {
            sender.send(message);
            logger.info("邮件已经发送。");
        } catch (Exception e) {
            logger.error("异常!", e);
        }
    }

}

发送邮件通知


//发送邮件通知
mailService.sendSimpleMail("接收的邮件号", "邮件标题","邮件内容")