【发布时间】:2016-11-10 16:16:36
【问题描述】:
我在 Grails 3.0.7 中使用 grails 邮件插件 (2.0.0.RC2)。这是我的配置:
mail:
host: smtp.gmail.com
port: 465
username: myuser@gmail.com
password: myPassword
props:
- mail.debug: true
- mail.smtp.auth: true
- mail.smtp.socketFactory.port: 465
- mail.smtp.socketFactory.class: javax.net.ssl.SSLSocketFactory
- mail.smtp.socketFactory.fallback: false
当我尝试发送测试邮件时,我收到以下错误:
Caused by: org.springframework.mail.MailSendException: Mail server connection failed; nested exception is javax.mail.MessagingException: Could not connect to SMTP host: smtp.gmail.com, port: 465, response: -1. Failed messages: javax.mail.MessagingException: Could not connect to SMTP host: smtp.gmail.com, port: 465, response: -1
at grails.plugins.mail.MailMessageBuilder.sendMessage(MailMessageBuilder.groovy:131) ~[mail-2.0.0.RC2.jar:na]
at grails.plugins.mail.MailService.sendMail(MailService.groovy:55) ~[mail-2.0.0.RC2.jar:na]
at grails.plugins.mail.MailService.sendMail(MailService.groovy:59) ~[mail-2.0.0.RC2.jar:na]
at com.eduspace.ClassroomController.$tt__index(ClassroomController.groovy:13) ~[main/:na]
at grails.transaction.GrailsTransactionTemplate$2.doInTransaction(GrailsTransactionTemplate.groovy:93) ~[grails-core-3.0.7.jar:3.0.7]
at grails.transaction.GrailsTransactionTemplate.execute(GrailsTransactionTemplate.groovy:90) ~[grails-core-3.0.7.jar:3.0.7]
... 9 common frames omitted
Caused by: javax.mail.MessagingException: Could not connect to SMTP host: smtp.gmail.com, port: 465, response: -1
at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1972) ~[javax.mail-1.5.1.jar:1.5.1]
at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:656) ~[javax.mail-1.5.1.jar:1.5.1]
at javax.mail.Service.connect(Service.java:345) ~[javax.mail-api-1.5.1.jar:1.5.1]
... 15 common frames omitted
我在日志中看不到其他调试信息。我将根记录器设置为 INFO,所以应该输出所有内容。我已经验证我可以远程登录到 smtp.gmail.com 端口 465,所以这不是问题。我读到其他人遇到了 SSL 问题,但通常有一些调试信息表明存在 SSL 问题,但我没有得到类似的信息。
【问题讨论】:
-
这可能是由您的防病毒软件引起的。我遇到了这个问题,原因是 Avast Mail Shield
-
我目前没有打开任何防病毒软件。我确实尝试在我的 Grails 应用程序的 465 端口上打开一个到 smtp.gmail.com 的套接字并且能够做到这一点,所以我知道它可以连接。
-
这里使用的冒号是什么?我认为 config.groovy 必须类似于 grails { mail { host = .... } }
标签: email grails grails-3.0