Springboot2.6集成Email

Springboot集成Email 老版本

这时候的JavaMailSender是受到Spring的托管的,我们只需要配置参数就行了

!如何判断是否是被Springboot托管的:以下代码IDEA会自动有个bean标识

    @Autowired
    private JavaMailSender mailSender;

!另外点进去看到源码:是有bean注解的和自动装配的

    @Bean
    @ConditionalOnMissingBean
    public JavaMailSenderImpl mailSender() {
        JavaMailSenderImpl sender = new JavaMailSenderImpl();
        this.applyProperties(sender);
        return sender;
    }

例如:

spring:
  mail:
    host: smtp.163.com
    password: XXXXX
    username: XXXX@163.com
    default-encoding: utf-8
    properties:
      timeout: 5000
      connection-timeout: 5000
      write-timeout: 5000
      mail:
        smtp:
          auth: true
          starttls:
            enable: true
            required: true
    port: 465

但是新版的Springboot集成Email有问题了

  • 我们在@Autowired的时候IDEA爆红!这是为什么呢,点击进去发现
  • MailSenderPropertiesConfiguration这个类没了!!!!
  • 压根就不被Spring托管了!根本就移除了自动装配的代码,我晕了,
  • 也就是配置在yml的无法使用了,但是现在怎么办!!

手动把这个bean配置上吧

    @Bean
    public JavaMailSender getMailSender() {
        JavaMailSenderImpl javaMailSender = new JavaMailSenderImpl();
        javaMailSender.setUsername(username);
        javaMailSender.setPassword(password);
        javaMailSender.setDefaultEncoding(encoding);
        javaMailSender.setHost(emailHost);
        javaMailSender.setPort(465);
        Properties props = new Properties();
        props.setProperty("mail.transport.protocol", "smtp");   // 使用的协议(JavaMail规范要求)
        props.setProperty("mail.smtp.ssl.enable", "true");   // 使用的协议(JavaMail规范要求)
        props.setProperty("mail.smtp.host", emailHost);   // 发件人的邮箱的 SMTP 服务器地址
        props.setProperty("mail.smtp.auth", "true");            // 须要请求认证
        javaMailSender.setJavaMailProperties(props);
        // 2. 根据配置建立会话对象, 用于和邮件服务器交互
        Session session = Session.getInstance(props);
        javaMailSender.setSession(session);
        return javaMailSender;
    }
}

然后调里面的方法就好使了!!!

posted on   白嫖老郭  阅读(169)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
历史上的今天:
2021-08-12 Axios +Vue + themeleay

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示