Rails5.2でSendGridを使ってメールを送信したい時は下記のような設定をします。ユーザに何を指定するのかとか罠が多かった記憶が…
・config/environments/production.rb
# メール送信(SendGrid利用) user = 'apikey' pass = Rails.application.credentials.dig(:sendgrid, :api_key) config.action_mailer.smtp_settings = { :user_name => user, :password => pass, :domain => 'hogehoge.com', :address => 'smtp.sendgrid.net', :port => 2525, :authentication => :plain, :enable_starttls_auto => true } # メール設定(ホスト) config.action_mailer.default_url_options = { host: 'hogehoge.com' }
パスワードは直書きでも行けるとは思いますが、セキュリティ的によろしくないので、credentialsを使って暗号データとして保存しておきました。もしくは環境変数管理とかでもOKですね。
EDITOR=vim bin/rails credentials:edit
を実行して中身にこんな風に記載(追記)しておきます。インデント注意です!
sendgrid: api_key: hogehogeapikey
Rails5.2から追加されたsecrets周りについて(secrets.yml→credentials.yml.encへの対応)
Rails5.2アプリから、secrets周りが変化しました。config/secrets.ymlがなくなって、conf...
こちらの記事にもcredentialsを使ったsecrets周りの話を書いています。
コメント