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は、普通のログインパスワードではなく、アプリパスワードというものを発行する必要があります。

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

2段階認証に未対応のアプリからのログイン用にアプリパスワードを生成する
Google アカウントで 2 段階認証を有効にしている場合にはユーザー名とパスワードに加えて確認コードなどの認証を行う必要がありますが、 Outlook など他社のサービスや製品から Google アカウントにログインしようとすると 2 段階認証に対応していないためログインできなくなってしまいます。そこで 2 段階認...

 

 

コメント