Java Play 2.10 アプリケーションから SendGrid を介して簡単なテスト メールを送信しようとしています。play-plugins-mailer を使用してメールを送信し、無料の (heroku) SendGrid アカウントを持っています。これは私がこれまでに行ったすべてです:
- Build.scala に play-plugins-mailer 依存関係を追加しました
- CommonsMailerPlugin を play.plugins ファイルに追加しました
電子メールを送信するために、コントローラーに次のコードを追加しました。
MailerAPI mail = play.Play.application().plugin(MailerPlugin.class).email(); mail.setSubject("test subject"); mail.addRecipient("test@gmail.com"); mail.addFrom("testapp@heroku.com"); mail.send("some text");
私のapplication.confに以下を追加しました:
smtp.host="smtp.sendgrid.net" smtp.user="[my-sendgrid-user]" smtp.pass="[my-sendgrid-pass]" smtp.port="587" smtp.channel=plain
メーラーが正常に動作していることは確かですが、SendGrid の構成の問題のようです。このコードが実行されると、次のエラーが発生します。
[RuntimeException: org.apache.commons.mail.EmailException: 次のサーバーへの電子メールの送信に失敗しました: smtp.sendgrid.net:587]
これを自分のローカル マシンと、アプリに SendGrid プラグインを追加した heroku で実行してみました。