multimail

SpringBoot多邮件源发送邮件

为君一笑 提交于 2020-07-29 03:02:24
前言   最近由于业务需要,需要使用邮件对用户进行通知,但是单个邮箱有发送限制,当推送量过多时,经常会出现失败,于是考虑使用多个邮箱进行发送,由于 spring-boot-starter-mail 不支持同时配置多个邮件源,所以决定自己动手实现。 实现思路    spring-boot-starter-mail 会根据 spring.mail.xxx 相关配置对 JavaMailSender 进行自动配置。但是只支持单个邮箱。为了实现多邮件源,可以参照上述逻辑。在配置文件内配置好,多个邮件源。然后读取配置文件,手动对 JavaMailSender 进行配置,并将其初始化完毕的 JavaMailSender 存储容器内。然后发送时随机取出 JavaMailSender 进行发送。 引入依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-mail</artifactId> </dependency> 邮件yml配置 替换实际的邮件配置 # 配置邮件 mail: configs: # 账号 - username: fapiao@QQ.com password: 123456 host: smtp.qq.com port: 25 protocol: smtp