【问题标题】:Send Emails to more than one SMTP host using Spring email module使用 Spring 电子邮件模块向多个 SMTP 主机发送电子邮件
【发布时间】:2018-06-19 16:45:47
【问题描述】:

我有一个 Spring Boot 应用程序,我必须将警报邮件发送到 Gmail 和 Zoho 邮件。是否可以使用 spring email 模块向多个 SMTP 服务器发送邮件,因为我们在 application.yml 中配置 SMTP 地址

【问题讨论】:

    标签: spring-boot


    【解决方案1】:

    基本上,您必须创建 JavaMailSender bean 的两个实例。 假设您将 gmail 和 zoho 配置都放在 application.yml 中,您可以像下面的代码一样创建两个 JavaMailSender 实例:

    @Bean
    public JavaMailSender getJavaMailSenderGmail() {
    JavaMailSenderImpl mailSender = new JavaMailSenderImpl();
    mailSender.setHost("smtp.gmail.com");
    mailSender.setPort(587);
    
    ...other stuff of your config...
    
    return mailSender;
    }
    
    @Bean
    public JavaMailSender getJavaMailZoho() {
    JavaMailSenderImpl mailSender = new JavaMailSenderImpl();
    mailSender.setHost("smtp.zoho.com");
    
    ...other stuff of your config...
    
    return mailSender;
    }
    

    现在在您的服务/控制器/whatyouwant 中,您可以自动装配您的 bean。

    @Autowired
    @Qualifier("javaMailSenderGmail")
    JavaMailSender gmail;
    
    @Autowired
    @Qualifier("javaMailSenderZoho")
    JavaMailSender zoho;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-04-17
      • 1970-01-01
      • 2012-06-11
      • 1970-01-01
      • 2019-06-16
      • 2011-07-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多