これは非常に具体的な質問であり、grails nabbleフォーラムでは運がなかったので、ここに投稿しようと思いました。grailsメールプラグインを使用していますが、私の質問は、サーバーからのメールゲートウェイとしてauthsmtpを使用することに関する一般的な質問だと思います。
authsmtpを使用してアプリからメールを送信できません。メールプラグインをインストールして設定し、元々はISPのSMTPサーバーを使用してメールを送信していました。ただし、AWS EC2にデプロイした場合、Elastic 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でクレデンシャルをエンコードする必要があることを示唆しているので、私の質問は3つの部分に分かれています...
1)失敗で何が起こっているのか、なぜそのメッセージが表示されているのか、何か考えはありますか?2)authsmtpに渡すためにクレデンシャルをエンコードするにはどうすればよいですか?メールプラグイン用にそれを設定するにはどうすればよいですか?