【发布时间】:2013-11-05 07:37:45
【问题描述】:
我正在尝试使用来自 java 的 Gmail SMTP 服务器发送电子邮件(部署在 tomcat 中)。在进行负载测试时,如果对 SMTP 服务器的请求/秒数增长更多(>20),我会收到此异常
javax.mail.MessagingException: Could not connect to SMTP host: smtp.gmail.com, port: 587;
nested exception is:java.net.ConnectException: Connection timed out
Gmail SMTP 服务器的访问速率是否有任何限制?我应该在每个请求之间引入延迟吗?
【问题讨论】:
-
你可以,但你想做什么?向很多人发送邮件?如果是这样,您应该使用专门的邮件服务而不是 Gmail,因为您会遇到问题(例如进入 Google 的黑名单)。
-
当用户注册到我的应用程序时,我正在发送验证电子邮件,其中包含一些文本和验证链接。在实时情况下,我通过性能测试产生的负载非常少见。我只是想确保我的应用程序是稳定的,但没想到它会成为 SMTP 服务器的问题。
-
如果您想对您的应用程序进行压力测试,我建议您配置一个临时 SMTP 服务器,以防止 Google 将您的 IP 地址标记为垃圾邮件来源(请参阅我的回答)。