2012-02-17 9 views
1

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 
+0

これは 'git push'時にエラーですか?もしそうなら、あなたはそれを無視することができます。あなたは 'Mail.send()'から例外を受け取りますか? –

+0

'git push'でエラーはなく、ちょうど警告です。例外は 'Mail.send()'からの不正なユーザ認証情報です。 'System.getenv(" SENDGRID_USERNAME ")'をコード内で直接使用し、 'MultipartEmail'の' send'を使うと試してみました。しかし、その場合は、組み込みのメールモックを使ってローカルでテストすることはできません。 – jackysee

答えて

4

私は私の作品の簡単なプレイ+ SendGrid + Herokuの例を作成しました。上に気づいた奇妙なことは、ENV_SENDGRID_PASSWORDと書かれているところです。環境変数名が間違っている可能性があります。

+0

Playを使う方法はありますか?パスワードの代わりにAPIキーを使用してEMailを送信する設定ですか? – AHH

関連する問題