でsmtpを構成しようとしましたapplication.conf
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 サーバーの認証時にユーザー資格情報が正しくないという例外が発生します。
私が気づいたことの 1 つは、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
です:
web: play run --http.port=$PORT --%prod