Railsのメール送信周り(Action Mailer)をGmailで設定してみる

Ruby on Rails

Rails5.2でGmailを使ってメールを送信したい時は下記のような設定をします。Gmail側での設定も必要なので意外と面倒。ただ一度設定してしまえば、ガンガンメールを送れるようになりますので、頑張って書いてみると良いです!

Rails側設定

・config/environments/production.rb

# メール送信(Gmail利用)
mail = '[email protected]'
pass = 'hogehogepass(gmailログインパスじゃないので注意)'
config.action_mailer.smtp_settings = {
  enable_starttls_auto: true,
  address: 'smtp.gmail.com',
  port: '587',
  domain: 'gmail.com',
  authentication: 'plain',
  user_name: mail,
  password: pass
}
# メール設定(ホスト)
config.action_mailer.default_url_options = { host: 'hogehoge.com' }

passはcredential管理でも良いと思います。

Rails5.2から追加されたsecrets周りについて(secrets.yml→credentials.yml.encへの対応)
Rails5.2アプリから、secrets周りが変化しました。config/secrets.ymlがなくなって、conf...

Gmail側設定

Gmail設定値のpassは、普通のログインパスワードではなく、アプリパスワードというものを発行する必要があります。

詳しくはこのあたりをチェックしてもらえればと思います。

アプリパスワードの生成と利用方法 - Gmailの使い方
Googleアカウントで2段階認証を有効にしている場合にはユーザー名とパスワードに加えて確認コードの入力が必要ですが、例えばOutlookなど他社の製品からGoogleアカウントに関連したサービスを利用する場合には確認コードを入力する仕組みが用意されておらずログインができなくなります。そこで2段階認証に対応していない環...

 

 

コメント