Использование authsmtp с сервера Grails - PullRequest
1 голос
/ 22 февраля 2010

Это довольно специфический вопрос, и мне не повезло на форуме по граблям Грааля, поэтому я решил опубликовать здесь. Я использую почтовый плагин Grails, но я думаю, что мой вопрос является общим относительно использования authsmtp в качестве почтового шлюза с моего сервера.

У меня проблемы с отправкой почты из моего приложения с использованием authsmtp. Я установил и настроил почтовый плагин и первоначально использовал SMTP-сервер моего провайдера для отправки почты. Однако при развертывании на AWS EC2 это не удалось, поскольку мой эластичный IP-адрес был заблокирован узлом SMTP. Поэтому я купил себе учетную запись authsmtp и настроил адрес электронной почты своего сервера в качестве принятого на authsmtp.

Затем я изменил свою конфигурацию в SecurityConfig.groovy, указав на назначенный мне сервер authsmtp ...

   mailHost = "mail.authsmtp.com"
   mailUsername = "myusername"
   mailPassword = "mypassword"
   mailProtocol = "smtp"
   mailFrom = "valid-authsmtp-address@mydomain.com"
   mailPort = 2525

... и я просто пытаюсь заставить это работать локально, прежде чем я снова развернусь в AWS. Отправка почты не удалась, и в моем журнале есть исключение:

2010-02-13 10:59:44,218 [http-8080-1] ERROR service.EmailerService  - Failed to send emails: Failed messages: com.sun.mail.smtp.SMTPSendFailedException: 513 5.0.0 Your email system must authenticate before sending mail.

org.springframework.mail.MailSendException; nested exception details (1) are:
Failed message 1:
com.sun.mail.smtp.SMTPSendFailedException: 513 5.0.0 Your email system must authenticate before sending mail. at
com.sun.mail.smtp.SMTPTransport.issueSendCommand(SMTPTransport.java:1388)
       at com.sun.mail.smtp.SMTPTransport.mailFrom(SMTPTransport.java:959)
       at com.sun.mail.smtp.SMTPTransport.sendMessage(SMTPTransport.java:583)

Я немного растерялся, поскольку имя пользователя и пароль, которые я предоставляю в Конфигурация определенно правильная.

Краткий и не очень полезный разговор с поддержкой authsmtp предполагает что мне нужно MD5 и / или base64 кодировать свои учетные данные перед отправкой, поэтому мой вопрос состоит из трех частей ...

1) любая идея, что происходит с ошибкой и почему это сообщение появляются? 2) как бы я закодировал учетные данные для передачи в authsmtp и как бы я настроить это для почтового плагина 3) кто-нибудь успешно подключился и отправил почту через authsmtp из почтовый плагин и конкретно из AWS EC2?

Ответы [ 2 ]

0 голосов
/ 12 марта 2010

Я не нашел решения для этого с помощью почтового плагина Grails, поэтому мне все еще интересен ответ, однако я нашел workround . Это может быть полезно в том случае, если кто-нибудь еще последует за мной по этому одинокому пути.

0 голосов
/ 22 февраля 2010

При отправке электронной почты с помощью плагина Acegi, под капотом используется Spring JavaMailSenderImpl. Глядя на свои документы :

Обратите внимание, что базовый сеанс JavaMail должен быть настроен со свойством "mail.smtp.auth", установленным в true, иначе указанный пароль не будет отправлен на почтовый сервер во время выполнения JavaMail. Если вы явно не передаете сеанс для использования, просто укажите этот параметр через setJavaMailProperties (java.util.Properties).

Поэтому добавьте в свой SecurityConfig.groovy следующее:

javaMailProperties = [ "mail.smtp.auth": true]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...