私はActionMailerを本番と開発の両方で正しく機能させています。環境ごとに異なるSMTP設定を使用し、開発にはGmailを使用し、本番環境にはHerokuを介したSendGridアカウントを使用します。setup_mail.rbファイルの設定を手動で切り替えて開発で機能させてから、本番環境にプッシュする前に元に戻します。これにより、SendGrid / Heroku設定でファイルにパスワードが必要ないため、Gmailのパスワードがgithubで公開されるのを防ぐことができます。
開発setup_mail.rb
ActionMailer::Base.smtp_settings = {
:address => "smtp.gmail.com",
:port => 587,
:domain => "mysite.com",
:user_name => "me@mysite.com",
:password => 'mypassword',
:authentication => "plain",
:enable_starttls_auto => true
}
本番セットアップ_mail.rb
ActionMailer::Base.smtp_settings = {
:address => 'smtp.sendgrid.net',
:port => '587',
:authentication => :plain,
:user_name => ENV['SENDGRID_USERNAME'],
:password => ENV['SENDGRID_PASSWORD'],
:domain => 'heroku.com'
}
ActionMailer::Base.delivery_method = :smtp
パスワードを使用して開発設定を誤ってgithubにプッシュしてしまうのではないかと心配しています。これを防ぐために、手動で設定の切り替えを停止したいと思います。開発と本番用に異なるActionMailerBasesmtp設定をセットアップするにはどうすればよいですか?ありがとう