spring-boot-mail使用多个发件人
不废话,直接上代码
思路: 继承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使用多个发件人相关推荐
- spring boot mail 发送 设置代理服务器
背景: 公司使用spring cloud 微服务 docker + Rancher + drone + maven 自动化部署. 网络环境 内网环境内部微服务必须通过代理服务器对外访问.邮件发送 必 ...
- spring boot mail 发送邮件,及25端口更换到465端口
因为考虑到邮箱注册的业务,最近写了一个发送邮件的业务.使用阿里云邮箱发送.在这里搭建什么的就不展示了,直接上关键代码. pom.xml中添加: <dependency><groupI ...
- (转)Spring Boot 2 (六):使用 Docker 部署 Spring Boot 开源软件云收藏
http://www.ityouknow.com/springboot/2018/04/02/docker-favorites.html 云收藏项目已经开源2年多了,作为当初刚开始学习 Spring ...
- Spring Boot 2.0(六):使用 Docker 部署 Spring Boot 开源软件云收藏
只需三步即可部署开源项目云收藏,打造专属个人的收藏系统,就是这么简单! 云收藏项目已经开源2年多了,作为当初刚开始学习 Spring Boot 的练手项目,使用了很多当时很新的技术,现在看来其实很多新 ...
- spring boot 使用 javax.mail发送邮件常见错误Authentication failed、Mail server connection failed
最近做系统内审批业务,需要发送邮件,在本地使用公司邮箱测试时,是没有问题的,没有使用发件服务器验证: 项目使用的是spring boot 2.x; 初始配置文件: spring:mail:host: ...
- Spring Boot 之发送邮件
目录 Spring Boot 之发送邮件 简介 API 配置 实战 完整示例 引申和引用 Spring Boot 之发送邮件 简介 API 配置 实战 引入依赖 配置邮件属性 Java 代码 完整示例 ...
- Spring Boot 发邮件和附件,超实用!
Spring Boot集成邮件服务竟如此简单,快速掌握邮件业务类的核心逻辑和企业邮件的日常服务. 什么是SMTP? SMTP全称为Simple Mail Transfer Protocol(简单邮件传 ...
- Spring Boot 2发送邮件手把手图文教程
本文基于:Spring Boot 2.1.3,理论支持Spring Boot 2.x所有版本. 最近有童鞋问到笔者如何用Spring Boot发送邮件,故而整理下Spring Boot发送邮件的各种姿 ...
- Spring Boot开发MongoDB应用实践
本文继续上一篇定时任务中提到的邮件服务,简单讲解Spring Boot中如何使用MongoDB进行应用开发. 上文中提到的这个简易邮件系统大致设计思路如下: 1.发送邮件支持同步和异步发送两种 2.邮 ...
- 邮件发送类_10 分钟实现 Spring Boot 发生邮件功能
基础知识 什么是SMTP? 什么是IMAP? 什么是POP3? IMAP和POP3协议有什么不同呢? 进阶知识 什么是JavaMailSender和JavaMailSenderImpl? 如何通过Ja ...
最新文章
- echarts如何修改散点大小
- AI智能体学会动物进化法则:李飞飞等提出深度进化RL
- 对tmemorystream的一些改进_delphi教程
- c++ gets()、scanf() 、getline()、cin读取字符、字符串
- mysql 环形复制_mysql复制(Replication)
- java随机数转换_Java获取随机数的3种方法(转)
- python3.0与2.0,python3.0与python2.0有哪些不同
- 如何让你的碎片化时间更有价值?
- jenkins部署java_在Window上使用Jenkins自动部署和上传快照Java工件
- android.mk 冒号,android学习-ndk-build(androidstudio编译cocos2d-x库的cpp为so文件的解释)
- LINUX上编译C#开发环境Mono
- ESP32-SPI接口bl0942驱动
- Gitbub远程仓库的访问
- 通话录音自动上传功能
- vscode中converting to execution character set: Illegal byte sequence
- 《Unity开发实战》——2.4节自定义镜头光晕效果
- mysql启动不了的原因_mysql启动不了是什么原因
- 使用Xshell远程连接CentOS7全过程,包括遇到的各种问题集合及解决方案
- php商品在最少购买,ecshop每个商品添加最少购买量最小订购量
- 均匀分布 卡方分布_深度学习需要掌握的13个概率分布(附代码)