springboot+javamail实现邮件发送

1. 在pom.xml中添加依赖库。

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

2. 在application.yml中进行配置

# Spring配置
spring:
  # 邮件发送
  mail:
    #邮件协议smtp
    host: smtp.qq.com
    #发送者的邮箱用户名
    username: xxxxxxxx@qq.com
    #使用的编码
    default-encoding: utf-8
    #POP3/SMTP服务授权码(在邮箱中设置)
    password: *******************

以QQ为例,获取POP3/SMTP服务授权码。


QQ20200207-104756@2x.png
WechatIMG3.png

登录QQ邮箱网页版,设置-账户页面,开启服务中选择开启POP3/SMTP服务,验证正确之后即可获取授权码。完成spring:mail的设置。

3. 代码实现

在你的controller或service中导入Javamail,获取配置文件中的发送者邮箱,填装邮件信息,完成邮件发送。

import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.beans.factory.annotation.Value;

public class SendMailController  {
    //从application.yml配置文件中注入发送者的邮件地址
    @Value("${spring.mail.username}")
    private String fromEmail;

    public boolean sendMail() {
        SimpleMailMessage message = new SimpleMailMessage();
        message.setTo("xxxxxx @qq.com"); //对方邮箱
        message.setFrom(fromEmail); //发送邮箱
        message.setSubject("邮件主题"); //邮件主题
        message.setText("邮件正文"); // 邮件正文
        try {
            javaMailSender.send(message); //执行发送
        } catch (Exception e) {
            return false;
        }
        return true;
    }
}

4. 测试情况

QQ20200207-111303@2x.png
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容