Merge pull request #3684 from consul/dynamic_from_mailer
Evaluate mailer from address at runtime
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
class ApplicationMailer < ActionMailer::Base
|
||||
helper :settings
|
||||
helper :application
|
||||
default from: "#{Setting["mailer_from_name"]} <#{Setting["mailer_from_address"]}>"
|
||||
default from: Proc.new { "#{Setting["mailer_from_name"]} <#{Setting["mailer_from_address"]}>" }
|
||||
layout "mailer"
|
||||
end
|
||||
|
||||
@@ -12,11 +12,7 @@ Devise.setup do |config|
|
||||
# Configure the e-mail address which will be shown in Devise::Mailer,
|
||||
# note that it will be overwritten if you use your own mailer class
|
||||
# with default "from" parameter.
|
||||
if Rails.env.test? || !ActiveRecord::Base.connection.data_source_exists?("settings")
|
||||
config.mailer_sender = "noreply@consul.dev"
|
||||
else
|
||||
config.mailer_sender = "'#{Setting["mailer_from_name"]}' <#{Setting["mailer_from_address"]}>"
|
||||
end
|
||||
config.mailer_sender = Proc.new { "'#{Setting["mailer_from_name"]}' <#{Setting["mailer_from_address"]}>" }
|
||||
|
||||
# Configure the class responsible to send e-mails.
|
||||
config.mailer = "DeviseMailer"
|
||||
|
||||
@@ -12,5 +12,14 @@ describe DeviseMailer do
|
||||
|
||||
expect(email.subject).to include("confirmación")
|
||||
end
|
||||
|
||||
it "reads the from address at runtime" do
|
||||
Setting["mailer_from_name"] = "New organization"
|
||||
Setting["mailer_from_address"] = "new@consul.dev"
|
||||
|
||||
email = DeviseMailer.confirmation_instructions(create(:user), "ABC")
|
||||
|
||||
expect(email).to deliver_from "'New organization' <new@consul.dev>"
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -13,5 +13,14 @@ describe Mailer do
|
||||
|
||||
expect(email.subject).to include("comentado")
|
||||
end
|
||||
|
||||
it "reads the from address at runtime" do
|
||||
Setting["mailer_from_name"] = "New organization"
|
||||
Setting["mailer_from_address"] = "new@consul.dev"
|
||||
|
||||
email = Mailer.comment(create(:comment))
|
||||
|
||||
expect(email).to deliver_from "New organization <new@consul.dev>"
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user