アラフォーからのプログラミングとデザイン

大人から始めたプログラミングとデザインについてのあれこれ

環境変数の設定とherokuでメール送信をできるようにする方法

f:id:simpledancer:20181211120114j:plain

simpledancer.hatenablog.com

今は環境変数を設定せずに、パスワードをベタ張りでやってました。

ただ、cloud9,そしてgithubにあげるのでとっても危険です。

そういう時は環境変数を設定しなければならないということをうっかり忘れていたのでまずは設定をすることにいたしました。

 

環境変数の設定

まずはgemを入れます。dotenvのgemです。

github.com

そして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を記載します。

f:id:simpledancer:20190502143040p:plain

そうするとgithubでは他人からみられることがないです

で、これで環境変数はとりあえずおっけー

herokuの設定

ローカルでメール送信ができるようになりましたので、今度はherokuでデプロイしてエラーが出たので、heroku上で環境変数を書きます。

f:id:simpledancer:20190502143523p:plain

これで↑半日以上潰れました。

 

そう、herokuのsettingからconfigvarというところで設定ができます。

f:id:simpledancer:20190502143755p:plain

そこに自分のパスワードなどを入れてaddボタンを押すとheroku上でもメール送信が可能になります。

ここ知らなかったんですわ。。。

他の方法もあるみたいですが、私はこれでできるようになりました。

dackdive.hateblo.jp