Я пытаюсь отправить электронную почту из моего приложения Grails 2.0 через Sendgrid на Heroku, но я не могу найти нужную конфигурацию. Я получаю «Connection отказался» исключения:Отправка почты с помощью Sendgrid из приложения Grails 2.0 на Heroku
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"
]
}
}
На самом деле, похоже, что это не имеет ничего общего с Heroku или Sendgrid. Я получаю то же самое исключение при попытке отправить электронную почту с localhost через GMail, используя те самые конфигурации в документе. Мое лучшее предположение заключается в том, что есть проблема с плагином Grails и Grails 2.0 – Sebastien
Я думаю, что вы правы, потому что, когда я вхожу в динамику Heroku «heroku run bash», а затем telnet на smtp.sendgrid.net на порт 587, это разрешено подключаться просто отлично. –
Вы также можете использовать надстройку MailGun с API RESTful для отправки почты. Вот пример Java: https://github.com/heroku/shareheroku-java/blob/master/app/helpers/EmailHelper.java –