网站首页 > java教程 正文
前言
最近在做邮件发送的服务,正常来说 SpringBoot 整合mail还是很方便的,然而来了新的需求:A请求使用邮箱C发送,B请求使用邮箱D发送,也就是说我们需要配置两套发送服务。
单实例
首先我们来看下单个服务的配置:
spring.mail.host=smtp.mxhichina.com
spring.mail.username=admin@52itstyle.com
spring.mail.password=123456
spring.mail.properties.mail.smtp.auth=true
spring.mail.properties.mail.smtp.starttls.enable=true
spring.mail.properties.mail.smtp.starttls.required=true
其他的不用管,我们只需要在用到的时候注入以下即可:
@Autowired
private JavaMailSender mailSender;//执行者
如果大家对如何加载配置以及初始化感兴趣,可以了解下 spring-boot-autoconfigure 的原理。
多实例
由于 mail 并没有像数据库那样提供多数据源,这里只能我们自己手动获取了:
/**
* 创建发送器
*/
public class MailUtil {
public static JavaMailSenderImpl createMailSender(){
JavaMailSenderImpl sender = new JavaMailSenderImpl();
sender.setHost("smtp.mxhichina.com");
sender.setPort(25);
sender.setUsername("admin@52itstyle.com");
sender.setPassword("123456");
sender.setDefaultEncoding("Utf-8");
Properties p = new Properties();
p.setProperty("mail.smtp.timeout",1000+"");
p.setProperty("mail.smtp.auth","true");
sender.setJavaMailProperties(p);
return sender;
}
}
这里,顺便说一个小功能,在发送邮件的时候,如何自定义显示发件人名称:
MimeMessageHelper helper = new MimeMessageHelper(message, true);
helper.setFrom("345849402@qq.com","爪哇笔记");
最后我们在使用的时候,只需要根据不同的请求使用不同的 sender 就可以了。
关注我 私信回复【架构】或【java】获取整个java体系的学习视频和资料以及免费的解答还会有职业生涯规划以及面试指导
猜你喜欢
- 2024-09-14 SpringBoot发送简单文本邮件(springboot 发送邮件)
- 2024-09-14 Github 大牛封装 Python 代码,实现自动发送邮件只需三行代码
- 2024-09-14 Java定时发送Email(带Excel附件)(java怎么实现定时任务)
- 2024-09-14 Spring Boot 邮件发送的 5 种姿势
- 2024-09-14 SpringBoot优雅地发送邮件(springboot发送邮件的步骤)
- 2024-09-14 Spring boot 发送邮件及原理(springboot发送outlook邮件)
- 2024-09-14 10分钟搞定Java实现邮箱验证,坦率讲,别被他人割韭菜
- 2024-09-14 25、springboot发送邮件(springboot email)
- 2024-09-14 SpringBoot邮件发送示例(springboot 邮件)
- 2024-09-14 使用spring boot 发送邮件(springboot发送outlook邮件)
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- java反编译工具 (77)
- java反射 (57)
- java接口 (61)
- java随机数 (63)
- java7下载 (59)
- java数据结构 (61)
- java 三目运算符 (65)
- java对象转map (63)
- Java继承 (69)
- java字符串替换 (60)
- 快速排序java (59)
- java并发编程 (58)
- java api文档 (60)
- centos安装java (57)
- java调用webservice接口 (61)
- java深拷贝 (61)
- 工厂模式java (59)
- java代理模式 (59)
- java.lang (57)
- java连接mysql数据库 (67)
- java重载 (68)
- java 循环语句 (66)
- java反序列化 (58)
- java时间函数 (60)
- java是值传递还是引用传递 (62)
本文暂时没有评论,来添加一个吧(●'◡'●)