在Java Web应用程序中使用gmail作为SMTP服务器很慢

我想知道是否有人能够向我解释为什么每次我的 Java Web应用程序使用Gmail的SMTP服务器发送电子邮件时,它需要花费近30秒的时间?请参阅以下时间戳:

13/04 / 2010-22:24:27:281 DEBUG test.service.impl.SynchronousEmailService – 发送邮件之前.
13/04 / 2010-22:24:52:625 DEBUG test.service.impl.SynchronousEmailService – 发送邮件后

我正在使用spring的JavaMailSender类,其中包含以下设置:

email.host = smtp.gmail.com

[email protected]
email.password =输入mypassword
email.port = 465
mail.smtp.auth.required =真

请注意,邮件正在发送,我收到的很好,只有这种延迟导致应用程序用户的体验缓慢.

如果你知道我怎么能自己诊断这个问题那也很好:)

解决方法

可能是gmail使用此延迟来阻止垃圾邮件发送者从“外部”使用他们的SMTP服务器:如果从实际的Webmail客户端调用SMTP,则不会使用此延迟. 为了测试这一点,您可以打开到端口25的telnet会话并执行手动SMTP会话 (在网上搜索SMTP HELO的例子)

相关文章

Java中的String是不可变对象 在面向对象及函数编程语言中,不...
String, StringBuffer 和 StringBuilder 可变性 String不可变...
序列化:把对象转换为字节序列的过程称为对象的序列化. 反序...
先说结论,是对象!可以继续往下看 数组是不是对象 什么是对...
为什么浮点数 float 或 double 运算的时候会有精度丢失的风险...
面试题引入 这里引申出一个经典问题,看下面代码 Integer a ...