使用Spring电子邮件模块将电子邮件发送到多个SMTP主机

时间:2018-06-19 07:52:45

标签: spring-boot

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

1 个答案:

答案 0 :(得分:0)

基本上你必须创建两个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;