不废话,直接上代码

思路:  继承JavaMailSenderImpl, 通过配置类,  创建bean, 因为后续可能会持续增加发件人,  所以直接将发件人信息配置在数据库, 然后项目启动时查询所有发件人信息, 循环创建bean,

根据类型自动注入,  因为有多个所以使用List<EMaiFormIMainServiceImpl> 接收

然后将LIst 转Map key= 发件人邮箱, value= 当前对象

使用时, 根据发件人邮箱,取出对应的bean实例

调用实例的.send((MimeMessage mimeMessage) -> {

MimeMessageHelper messageHelper = new MimeMessageHelper(mimeMessage, Boolean.TRUE, StandardCharsets.UTF_8.name());  messageHelper.setFrom("发件人邮箱");

);

public class EMaiFormIMainServiceImpl extends JavaMailSenderImpl {private static final Properties p = new Properties();static {p.setProperty("mail.smtp.auth", "true");p.setProperty("mail.smtp.starttls.enable", "false");p.setProperty("mail.smtp.starttls.required", "false");}public EMaiFormIMainServiceImpl(String userName,String password, String host, Integer port, String  defaultEncoding) {//发件人邮箱super.setUsername(userName);super.setPassword(password);//服务器地址super.setHost(host);//端口super.setPort(port);super.setDefaultEncoding("UTF-8");super.setJavaMailProperties(p);}
@Configuration
public class EmailConfig {@Autowiredprivate 发件人Repository repository;@Beanpublic List<EMaiFormIMainServiceImpl> getEMaiFormIMainServiceImplList() {List<发件人> list= repository.selectAll();return list.stream().map(e->{return new EMaiFormIMainServiceImpl(e.getUserName(),e.getPassword(),e.getHost(),e.getPort(),"UTF-8");}).collect(Collectors.toList());}
}

spring-boot-mail使用多个发件人相关推荐

  1. spring boot mail 发送 设置代理服务器

    背景: 公司使用spring cloud 微服务  docker + Rancher + drone + maven 自动化部署. 网络环境 内网环境内部微服务必须通过代理服务器对外访问.邮件发送 必 ...

  2. spring boot mail 发送邮件,及25端口更换到465端口

    因为考虑到邮箱注册的业务,最近写了一个发送邮件的业务.使用阿里云邮箱发送.在这里搭建什么的就不展示了,直接上关键代码. pom.xml中添加: <dependency><groupI ...

  3. (转)Spring Boot 2 (六):使用 Docker 部署 Spring Boot 开源软件云收藏

    http://www.ityouknow.com/springboot/2018/04/02/docker-favorites.html 云收藏项目已经开源2年多了,作为当初刚开始学习 Spring ...

  4. Spring Boot 2.0(六):使用 Docker 部署 Spring Boot 开源软件云收藏

    只需三步即可部署开源项目云收藏,打造专属个人的收藏系统,就是这么简单! 云收藏项目已经开源2年多了,作为当初刚开始学习 Spring Boot 的练手项目,使用了很多当时很新的技术,现在看来其实很多新 ...

  5. spring boot 使用 javax.mail发送邮件常见错误Authentication failed、Mail server connection failed

    最近做系统内审批业务,需要发送邮件,在本地使用公司邮箱测试时,是没有问题的,没有使用发件服务器验证: 项目使用的是spring boot 2.x; 初始配置文件: spring:mail:host: ...

  6. Spring Boot 之发送邮件

    目录 Spring Boot 之发送邮件 简介 API 配置 实战 完整示例 引申和引用 Spring Boot 之发送邮件 简介 API 配置 实战 引入依赖 配置邮件属性 Java 代码 完整示例 ...

  7. Spring Boot 发邮件和附件,超实用!

    Spring Boot集成邮件服务竟如此简单,快速掌握邮件业务类的核心逻辑和企业邮件的日常服务. 什么是SMTP? SMTP全称为Simple Mail Transfer Protocol(简单邮件传 ...

  8. Spring Boot 2发送邮件手把手图文教程

    本文基于:Spring Boot 2.1.3,理论支持Spring Boot 2.x所有版本. 最近有童鞋问到笔者如何用Spring Boot发送邮件,故而整理下Spring Boot发送邮件的各种姿 ...

  9. Spring Boot开发MongoDB应用实践

    本文继续上一篇定时任务中提到的邮件服务,简单讲解Spring Boot中如何使用MongoDB进行应用开发. 上文中提到的这个简易邮件系统大致设计思路如下: 1.发送邮件支持同步和异步发送两种 2.邮 ...

  10. 邮件发送类_10 分钟实现 Spring Boot 发生邮件功能

    基础知识 什么是SMTP? 什么是IMAP? 什么是POP3? IMAP和POP3协议有什么不同呢? 进阶知识 什么是JavaMailSender和JavaMailSenderImpl? 如何通过Ja ...

最新文章

  1. echarts如何修改散点大小
  2. AI智能体学会动物进化法则:李飞飞等提出深度进化RL
  3. 对tmemorystream的一些改进_delphi教程
  4. c++ gets()、scanf() 、getline()、cin读取字符、字符串
  5. mysql 环形复制_mysql复制(Replication)
  6. java随机数转换_Java获取随机数的3种方法(转)
  7. python3.0与2.0,python3.0与python2.0有哪些不同
  8. 如何让你的碎片化时间更有价值?
  9. jenkins部署java_在Window上使用Jenkins自动部署和上传快照Java工件
  10. android.mk 冒号,android学习-ndk-build(androidstudio编译cocos2d-x库的cpp为so文件的解释)
  11. LINUX上编译C#开发环境Mono
  12. ESP32-SPI接口bl0942驱动
  13. Gitbub远程仓库的访问
  14. 通话录音自动上传功能
  15. vscode中converting to execution character set: Illegal byte sequence
  16. 《Unity开发实战》——2.4节自定义镜头光晕效果
  17. mysql启动不了的原因_mysql启动不了是什么原因
  18. 使用Xshell远程连接CentOS7全过程,包括遇到的各种问题集合及解决方案
  19. php商品在最少购买,ecshop每个商品添加最少购买量最小订购量
  20. 均匀分布 卡方分布_深度学习需要掌握的13个概率分布(附代码)

热门文章

  1. 点云拟合—圆柱面 非线性最小二乘实现
  2. HNOI2008题目总结
  3. 一个总经理的11个经典招聘面试问题
  4. 单体架构-->SOA架构-->微服务架构
  5. 基于tushare实现股票实时价格变动的监控并用itchat实现微信消息提醒
  6. 瑞星回击杀毒软件免费
  7. 提高教学效率的工具箱
  8. 爱思助手短信备份到安卓_爱思助手备份/恢复功能介绍
  9. 常用的BGP选路原则,最快速的方法实现精准记忆
  10. simulink抽水蓄能AGC二次调频,可加入风光储机组二次调频。