Почтовое соединение Grails отказано - PullRequest
3 голосов
/ 17 января 2011

Кажется, я попробовал конфигурацию mail так, как сказано в документации, но все же я получаю:

Error 500: Executing action [x] of controller [x] caused exception: Mail server connection failed; nested exception is javax.mail.MessagingException: Could not connect to SMTP 

Я использую приложения Google для своей электронной почты - me@dogself.com использует gmail. я не могу получить grails, чтобы отправить тестовое сообщение на мой ящик разработчика (победа 7).

моя конфигурация:

   host = "smtp.gmail.com"
   port = 465
   username = "autoresponse@dogself.com"
   password = "x"
   props = ["mail.smtp.auth":"true",
            "mail.smtp.debug":"true",
            "mail.smtp.starttls.enable":"true",
            "mail.smtp.socketFactory.port":"465",
            "mail.smtp.socketFactory.class":"javax.net.ssl.SSLSocketFactory",
            "mail.smtp.socketFactory.fallback":"false"]

редактирование: мне нужно иметь какой-то подписанный ключ для поддержки ssl-подключения к gmail?

Ответы [ 4 ]

3 голосов
/ 17 января 2011

Попробуйте следующее:

props = ["mail.transport.protocol":"smtps",
         "mail.smtps.host":"smtp.gmail.com",
         "mail.smtps.port":"465",
         "mail.smtps.auth":"true"]

Кажется, что стандартный набор параметров, необходимых для подключения к SMTP-серверу Google .Ключевым моментом является использование smtps вместо smtp плюс TLS.

0 голосов
/ 05 октября 2015

У вас есть два конфликтующих свойства в объявлении "props":

"mail.smtp.starttls.enable":"true" используется для рукопожатия с сервером в незашифрованном виде, после чего начинается согласование шифрования TLS с сервером.

"mail.smtp.socketFactory.class":"javax.net.ssl.SSLSocketFactory" требуется зашифрованное рукопожатие.

Указанный вами порт (465) может работать с любым из них, но обычно он предназначен для зашифрованного использования. Если сервер поддерживает это, я бы предложил использовать первое свойство "mail.smtp.starttls.enable":"true" и дополнить его "mail.smtp.starttls.required":"true", чтобы обеспечить шифрование ваших сообщений между вашим приложением и SMTP-сервером, и удалить "mail.smtp.socketFactory.class":"javax.net.ssl.SSLSocketFactory"

0 голосов
/ 17 января 2011

Что произойдет, если вы удалите:

mail.smtp.starttls.enable: "true"

Я заставил мою работать без этого.

0 голосов
/ 17 января 2011

Переключитесь на Grails Mail Plugin и попробуйте еще раз.Пример конфигурации Gmail находится в конце этой веб-страницы.

...