spring-boot-starter-mail解决邮箱发送速度慢的问题
在使用 JavaMailSender.send(mimeMessage);发送邮件时,时间太久,至少18s以上。通过在代码中,设置mail中Session的debug日志分析,主要是两处源码耗时太久。一.内置驱动jar包是。
·
一.内置驱动jar包是
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId> <version>2.7.16-SNAPSHOT</version> <scope>compile</scope> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context-support</artifactId> <version>5.3.30-SNAPSHOT</version> <scope>compile</scope> </dependency> <dependency> <groupId>com.sun.mail</groupId> <artifactId>jakarta.mail</artifactId> <version>1.6.7</version> <scope>compile</scope> </dependency>
二、场景描述
在使用 JavaMailSender.send(mimeMessage); 发送邮件时,时间太久,至少18s以上。
三、问题展现
通过在代码中,设置mail中Session的debug日志分析,主要是两处源码耗时太久。
四、解决如下可以
// 解决本地DNS未配置 ip->域名场景下,邮件发送太慢的问题
System.getProperties().setProperty("mail.mime.address.usecanonicalhostname", "false");
// 获取 MimeMessage
MimeMessage mimeMessage = sender.createMimeMessage();
Session session = mimeMessage.getSession();
// 设置 日志打印控制器
session.setDebug(true);
// 解决本地DNS未配置 ip->域名场景下,邮件发送太慢的问题
session.getProperties().setProperty("mail.smtp.localhost", "myComputer");
更多推荐




所有评论(0)