はapplication.conf
英雄遊戯! sendgrid構成で
mail.smtp.host=smtp.sendgrid.net
mail.smtp.user=${SENDGRID_USERNAME}
mail.smtp.pass=${SENDGRID_PASSWORD}
とコントローラ
MultiPartEmail email = new MultiPartEmail();
//... setting from,to,subject,content...
Mail.send(email); //using Play's util
内で設定SMTPしようとしましたが、例外は、SMTPサーバを認証するときに不正なユーザーの資格情報を言って、発生します。私は気づく
ことの一つは、Herokuのにプッシュしてアプリを起動し、それは警告するだろうというとき、ということである:
WARNING: Cannot replace SENDGRID_USERNAME in configuration (mail.smtp.user=${SENDGRID_USERNAME})
WARNING: Cannot replace ENV_SENDGRID_PASSWORD in configuration (mail.smtp.pass=${SENDGRID_PASSWORD})
これは、プリコンパイルフラグが原因かもしれ際展開になりました??ここに私のProcfile
です:
https://github.com/jamesward/playsendgrid
私はこの例とあなたのコードの間で異なっているのかわからないんだけど:
web: play run --http.port=$PORT --%prod
これは 'git push'時にエラーですか?もしそうなら、あなたはそれを無視することができます。あなたは 'Mail.send()'から例外を受け取りますか? –
'git push'でエラーはなく、ちょうど警告です。例外は 'Mail.send()'からの不正なユーザ認証情報です。 'System.getenv(" SENDGRID_USERNAME ")'をコード内で直接使用し、 'MultipartEmail'の' send'を使うと試してみました。しかし、その場合は、組み込みのメールモックを使ってローカルでテストすることはできません。 – jackysee