SpringBoot轻松实现邮件发送-copy即用

29 阅读2分钟

👩🏽‍💻个人主页:阿木木AEcru (更多精彩内容可进入主页观看)

🔥 系列专栏:《Docker容器化部署系列》 《Java每日面筋》

💹每一次技术突破,都是对自我能力的挑战和超越。

前言

不管在日常生活中还是用于程序通知,发送邮件还是比较常见的,例如:①有些网站在重置密码的时候,会发送邮件让你点击验证后重置密码 ②程序中某些相对重要的业务可能会有异常邮件提醒之类的等等非常多的应用场景我就不一一列举出来了。 使用邮件有个非常好的点,就是免费,还有就是用起来也非常简单,总的来说就是成本相对较低。当然也有不好的点就是有可能会丢失,也就是发送失败。

一、配置邮箱权限

在这里开通 SMTP

二、发送邮箱实现

然后引入邮件依赖

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

配置yml

spring:
  mail:
    # 设置邮箱主机
    host: smtp.163.com
    # SMTP 服务器的端口
    port: 587
    # 设置用户名,这里使用你邮箱账号就行
    username: 123456789@163.com
    # 设置密码,该处的密码是邮箱开启SMTP的授权码而非邮箱密码
    password: SODJSHAUHGQWRQWE
    default-encoding: UTF-8
    protocol: smtps
    properties:
      mail:
        smtp:
          ssl:
            enable: true

具体的实现类

@Slf4j
@Service
@RequiredArgsConstructor
public class MailServiceImpl  implements MailService {

    private final JavaMailSender javaMailSender;
    
    //发送邮件
    @Override
    public void sendEmail(String email,String subject, String text) {
        try {
            SimpleMailMessage mailMessage = new SimpleMailMessage();
            //你的邮箱账号
            mailMessage.setFrom("123456789@163.com");
            //接收方的邮箱账号
            mailMessage.setTo(email);
            //标题
            mailMessage.setSubject(subject);
            //内容
            mailMessage.setText(text);
            //发送邮件
            javaMailSender.send(mailMessage);
        } catch (Exception e) {
            e.printStackTrace();
            log.info("发送邮箱失败:{}",e.getMessage());
        }
    }

}

三、结尾

感谢观看至此,希望该文章能够帮助到您提升知识和技能。如果您喜欢我的内容,请不要忘记点赞和分享哦!👍

往期内容推荐

链接
保姆级教程手把手教你如何快速部署一个属于你自己的微信AI机器人-支持群聊 - 掘金 (juejin.cn)
还在用if校验参数?SpringBoot使用validation优雅实现参数校验 - 掘金 (juejin.cn)
Docker三分钟部署ElasticSearch平替MeiliSearch轻量级搜索引擎 - 掘金 (juejin.cn)
Java使用Hutool工具类轻松生成验证码 - 掘金 (juejin.cn)