diff options
author | Akihiko Odaki (@fn_aki@pawoo.net) <akihiko.odaki.4i@stu.hosei.ac.jp> | 2017-07-07 07:12:12 +0900 |
---|---|---|
committer | Eugen Rochko <eugen@zeonfederated.com> | 2017-07-07 00:12:12 +0200 |
commit | 2083000027451249836c369eb961300d7faf5f99 (patch) | |
tree | b65fa158ac68e0135abbb843fa3ddc19b03dc47b | |
parent | 18d3fa953b5af8ab17cc93c33cb95cec37127712 (diff) |
Set default From address in config (#3756)
The old implementation sets default From address in mailers. It sets the address from SMTP_FROM_ADDRESS, or notifications@localhost. The behavior is occasionally undesired results. In production environment, notifications@localhost is likely to be incorrect. In testing environment, the email address should not be varied by a environment variable. After appling this change, In production environment, it will throw an exception when launching Mastodon. In testing environment, the address will be fixed with notifications@localhost.
-rw-r--r-- | app/mailers/application_mailer.rb | 1 | ||||
-rw-r--r-- | app/mailers/user_mailer.rb | 1 | ||||
-rw-r--r-- | config/environments/development.rb | 2 | ||||
-rw-r--r-- | config/environments/production.rb | 2 | ||||
-rw-r--r-- | config/environments/test.rb | 2 |
5 files changed, 6 insertions, 2 deletions
diff --git a/app/mailers/application_mailer.rb b/app/mailers/application_mailer.rb index 2e730c19b..95b770ff1 100644 --- a/app/mailers/application_mailer.rb +++ b/app/mailers/application_mailer.rb @@ -1,7 +1,6 @@ # frozen_string_literal: true class ApplicationMailer < ActionMailer::Base - default from: ENV.fetch('SMTP_FROM_ADDRESS') { 'notifications@localhost' } layout 'mailer' helper :instance diff --git a/app/mailers/user_mailer.rb b/app/mailers/user_mailer.rb index 6abf9c9ca..1517c027e 100644 --- a/app/mailers/user_mailer.rb +++ b/app/mailers/user_mailer.rb @@ -1,7 +1,6 @@ # frozen_string_literal: true class UserMailer < Devise::Mailer - default from: ENV.fetch('SMTP_FROM_ADDRESS') { 'notifications@localhost' } layout 'mailer' helper :instance diff --git a/config/environments/development.rb b/config/environments/development.rb index c81cf7bbe..406fa970b 100644 --- a/config/environments/development.rb +++ b/config/environments/development.rb @@ -62,6 +62,8 @@ Rails.application.configure do # routes, locales, etc. This feature depends on the listen gem. # config.file_watcher = ActiveSupport::EventedFileUpdateChecker + config.action_mailer.default_options = { from: 'notifications@localhost' } + # If using a Heroku, Vagrant or generic remote development environment, # use letter_opener_web, accessible at /letter_opener. # Otherwise, use letter_opener, which launches a browser window to view sent mail. diff --git a/config/environments/production.rb b/config/environments/production.rb index bd87d79a7..d9c9da684 100644 --- a/config/environments/production.rb +++ b/config/environments/production.rb @@ -73,6 +73,8 @@ Rails.application.configure do config.action_mailer.perform_caching = false # E-mails + config.action_mailer.default_options = { from: ENV.fetch('SMTP_FROM_ADDRESS') } + config.action_mailer.smtp_settings = { :port => ENV['SMTP_PORT'], :address => ENV['SMTP_SERVER'], diff --git a/config/environments/test.rb b/config/environments/test.rb index db98263a6..bde69eba1 100644 --- a/config/environments/test.rb +++ b/config/environments/test.rb @@ -30,6 +30,8 @@ Rails.application.configure do config.action_controller.allow_forgery_protection = false config.action_mailer.perform_caching = false + config.action_mailer.default_options = { from: 'notifications@localhost' } + # Tell Action Mailer not to deliver emails to the real world. # The :test delivery method accumulates sent emails in the # ActionMailer::Base.deliveries array. |