今は環境変数を設定せずに、パスワードをベタ張りでやってました。
ただ、cloud9,そしてgithubにあげるのでとっても危険です。
そういう時は環境変数を設定しなければならないということをうっかり忘れていたのでまずは設定をすることにいたしました。
環境変数の設定
まずはgemを入れます。dotenvのgemです。
そしてproduction、development.rbに環境変数設置。
ActionMailer::Base.smtp_settings = {
:address => "smtp.gmail.com",
:port => '587',
:authentication => :plain,
:user_name => ENV['GMAIL_USERNAME'],
:password => ENV['GMAIL_PASSWORD'],
:domain => 'gmail.com',
#:enable_starttls_auto => true
}
このENV['GMAIL_USERNAME'],は
.envというファイルを作ってその中に例えば
ENV['GMAIL_USERNAME'] ='kinniku@gmail.coml'#自分のgmail
ENV['GMAIL_PASSWORD'] ='kiniikukinnniku' #二段階認証パスワード
のような感じで作り
gitで見れないように
.gitignore ファイルに.envを記載します。
そうするとgithubでは他人からみられることがないです
で、これで環境変数はとりあえずおっけー
herokuの設定
ローカルでメール送信ができるようになりましたので、今度はherokuでデプロイしてエラーが出たので、heroku上で環境変数を書きます。
これで↑半日以上潰れました。
そう、herokuのsettingからconfigvarというところで設定ができます。
そこに自分のパスワードなどを入れてaddボタンを押すとheroku上でもメール送信が可能になります。
ここ知らなかったんですわ。。。
他の方法もあるみたいですが、私はこれでできるようになりました。