Как переопределить существующий адрес отправителя конфигураций SMTP, определенный в config.groovy

У меня установлен grails 2.0 и плагин почты, и я настроил SMTP в config.groovy следующим образом.

grails {
mail {
  host = "smtp.gmail.com"
  port = 465
  username = "[email protected]  "
  password = "mypwd"
  props = ["mail.smtp.auth":"true",
           "mail.smtp.socketFactory.port":"465",
           "mail.smtp.socketFactory.class":"javax.net.ssl.SSLSocketFactory",
           "mail.smtp.socketFactory.fallback":"false"]
}

}

И в одном из моих контроллеров я делаю следующее

sendMail {
  from "Vinay <[email protected]>"
  to "[email protected]"
  subject "Hello John"
  html '<b>Hello</b> World'
}

Но когда я получаю почту с адреса «mymail». Grails по-прежнему использует имя пользователя конфигурации smtp. Как переопределить это, чтобы я мог настроить адрес «от»


person n92    schedule 03.08.2012    source источник


Ответы (1)


На самом деле Grails поступает правильно и передает указанную вами строку «От» на SMTP-сервер, но «особенность» аутентифицированного SMTP GMail заключается в том, что он разрешает только адреса «От», которые зарегистрированы как «адреса, которыми я владею» в учетной записи GMail. Если вы попытаетесь использовать адрес отправителя, который не является одним из ваших зарегистрированных псевдонимов, адрес отправителя, предоставленный Grails, будет проигнорирован GMail, и SMTP-сервер заменит его основным адресом учетной записи, которая использовалась для аутентификации.

Если у вас есть известный фиксированный набор адресов отправителя, которые вы будете использовать, вы можете просто добавить их все в настройки своей учетной записи GMail, но невозможно использовать произвольный адрес отправителя с GMail SMTP.

person Ian Roberts    schedule 03.08.2012