email - Gmail SMTP 的 Grails 邮件插件问题

标签 email grails grails-3.0

我将 grails 邮件插件 (2.0.0.RC2) 与 Grails 3.0.7 一起使用。这是我的配置:

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 问题,但我没有得到类似的东西。

最佳答案

我正在使用一个稍微不同的配置,它工作正常:

grails:
    mail:
        host: "smtp.gmail.com"
        port: 465
        username: "<username>@gmail.com"
        password: "<password>"
        props:
            mail.smtp.auth: "true"
            mail.smtp.socketFactory.port: "465"
            mail.smtp.socketFactory.class: "javax.net.ssl.SSLSocketFactory"
            mail.smtp.socketFactory.fallback: "false"

邮件配置位于 中 chalice 占位符,我没有像你的例子那样使用破折号。也许这对你有帮助。

关于email - Gmail SMTP 的 Grails 邮件插件问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32856392/

相关文章:

grails - 将Grails版本从3.0.x升级到3.3.x的步骤

php - CodeIgniter SMTP 电子邮件消息 - 字符替换为等号

python - 使用第三方电子邮件系统进行 Django 密码重置

grails - 将 Java 类注入(inject) Grails Groovy 服务

grails - Grails地理位置-初始值设定项

spring - Grails:OR 角色的@Secured 注释

web-services - 是否有类似于亚马逊 AWS 的可扩展电子邮件服务用于存储?

c# - 仅使用交换服务器发送电子邮件

Grails 安装

grails - 由于grails-3.0.1插件应用程序中的IllegalStateException,因此无法运行集成测试