发送email 报错“SMTPSendFailedException: 432 4.3.2 STOREDRV.ClientSubmit;sender thread limit exceeded”

今天优化了一下发送email 代码,由于发送email的业务比较多,而发送email与业务相关性不大,比如在创建生成一份报告时要发送email给相关人员,但是发送email不管失败与否都不应该要影响报告的生成。所以将所有需要发送email部分,放到线程池去做。

在测试 发送email较多时,竟然报错

com.sun.mail.smtp.SMTPSendFailedException: 432 4.3.2 STOREDRV.ClientSubmit;           
     sender thread limit exceeded [Hostname=SG2PR01MB2094.apcprd01.prod.exchangelabs.com]

,经过一番查找,发现竟然我们使用的email的问题,我们使用的email 是hotmail,属于microsoft ,而microsoft 做了限制, 同时间只支持3条线程并发发送email,超过3条,则会抛出以上异常。换了一个不是microsoftt的email,测试正常。

如果非要使用microsoft email,官方也给出了3个解决方案,请看官方文档。

https://techcommunity.microsoft.com/t5/exchange-team-blog/changes-coming-to-the-smtp-authenticated-submission-client/ba-p/607825

Supongo que te gusta

Origin blog.csdn.net/janet1100/article/details/107632749
Recomendado
Clasificación