1

Grails 2.0アプリからHerokuのSendgrid経由でメールを送信しようとしていますが、正しい構成が見つかりません。「接続が拒否されました」という例外が発生し続けます。

java.net.ConnectException: Connection refused
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:327)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:193)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:180)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:384)
at java.net.Socket.connect(Socket.java:546)
at java.net.Socket.connect(Socket.java:495)
at com.sun.mail.util.SocketFetcher.createSocket(SocketFetcher.java:233)
at com.sun.mail.util.SocketFetcher.getSocket(SocketFetcher.java:189)
at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1359)
at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:412)
at javax.mail.Service.connect(Service.java:288)
at grails.plugin.mail.MailMessageBuilder.sendMessage(MailMessageBuilder.groovy:102)
at grails.plugin.mail.MailService.sendMail(MailService.groovy:39)
at MailGrailsPlugin$_configureSendMail_closure6.doCall(MailGrailsPlugin.groovy:149)

私が試した最新の構成は次のとおりです。

grails {
    mail {
        host = "smtp.sendgrid.net"
        port = 587
        username = System.env.SENDGRID_USERNAME
        password = System.env.SENDGRID_PASSWORD
        props = [
                "mail.smtp.protocol":"smtps",
                "mail.smtp.channel":"plain",
                "mail.smtp.auth":"true",
                "mail.debug":"true"
        ]
    }
}
4

2 に答える 2

2

ファイアウォールまたは ISP がポート 587 をブロックしているようです

Elmer Thomas、SendGrid.com 開発者エバンジェリスト

于 2011-12-22T20:01:48.887 に答える
0

実際、問題は Grails の構成に起因していました。何らかの理由で、ある時点でメール構成がリセットされ、Config.groovy にあったものが使用されませんでした。そのため、アプリは localhost 経由でメールを送信しようとしましたが、うまくいきませんでした。この問題の回避策を見つけましたが、なぜそれが機能するのかまだわかりません。

于 2011-12-29T08:22:56.420 に答える