【发布时间】:2011-02-25 20:47:03
【问题描述】:
我正在尝试通过 grails 邮件插件发送邮件。我根据文档进行配置,也关注了几篇博文(http://blog.lourish.com/2010/04/02/sending-asynchronous-html-email-in-grails-with-activemq-jms-and-gmail/)。那篇文章提到声明配置的关闭方式会覆盖其他方式,但不是真的。无论如何我都尝试了这两种方法,但似乎端口仍然使用 smtp 默认端口。我得到以下异常。
exception: org.springframework.mail.MailSendException: Mail server connection failed; nested exception is javax.mail.MessagingException: Could not connect to SMTP host: localhost, port: 25; nested exception is: java.net.ConnectException: Connection refused: connect
现在,我直接使用java邮件库写了一个小程序,我可以用它发送邮件。配置如下图所示。尝试了额外的配置“mail.smtp.port”:“465”,但没有改变..使用上面博客文章中提到的参数,结果相同
grails {
mail {
host = "smtp.gmail.com"
port = "465"
username = "mylogin@gmail.com"
password = "mypwd"
props = ["mail.smtp.auth":"true",
// "mail.smtp.port":"465",
"mail.smtp.socketFactory.port":"465",
"mail.smtp.socketFactory.class":"javax.net.ssl.SSLSocketFactory",
"mail.smtp.socketFactory.fallback":"false"]
}
}
提前谢谢..
更新:它不是端口或防火墙配置,就像我从头开始制作一个 grails 应用程序并尝试使用相同的配置一样,一切正常。另外,在 grails 论坛http://grails.1312388.n4.nabble.com/grails-mail-mailSender-does-not-have-config-values-td2237704.html#a2237704 中询问。希望能有机会尝试一下。
【问题讨论】:
-
前几天我在一个项目中遇到了类似的问题。最后我们发现这是一个防火墙问题,应用程序实际上是在尝试在备用端口上发送。对我们来说,例外是给出关于 25 端口的误导性消息。我不记得确切的细节,因为已经很晚了,我只想回家! :-) 祝你好运
-
哇!!这很困难.. 但是,我关闭了防火墙,正如我所说,具有相同上述配置的普通 java 邮件程序可以正常工作:-(