2011-01-17 2 views
3

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

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 приложение для моей электронной почты - это [email protected] используя gmail. я не могу получить grails, чтобы отправить тестовое сообщение на мой dev box (win 7).

мой конфиг является:

host = "smtp.gmail.com" 
    port = 465 
    username = "[email protected]" 
    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?

+0

Вы уже проверили брандмауэр Windows? Может быть, это преступник. –

+0

только что выключил брандмауэр - никакой разницы в результатах все еще не было отказано: P – mkoryak

ответ

3

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

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

Это, кажется, the standard set of params necessary to connect to Google's SMTP server. Главное - использовать smtps вместо smtp плюс TLS.

+0

, похоже, работает, хотя мое приложение зависает (я думаю). – mkoryak

+0

Для информации добавьте эту конфигурацию почты как «grails {mail {....}}" в config.groovy. Я также столкнулся с той же проблемой. Он разрешается путем добавления конфигурации почты в «grails {}». – mahesh

0

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

+0

это то, что я использую .. я должен был указать: P – mkoryak

0

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

mail.smtp.starttls.enable: "true" 

Я получил шахту работать без этого.

+0

ничего не происходит - такое же исключение – mkoryak

0

У вас есть две противоречащие друг другу свойства в вашем «реквизита» заявление:

"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"

Смежные вопросы