diff options
author | Aditya Sanghi <aditya.sanghi@risingsuntech.net> | 2012-08-20 18:52:12 +0530 |
---|---|---|
committer | Aditya Sanghi <aditya.sanghi@risingsuntech.net> | 2012-09-04 22:34:41 +0530 |
commit | 8fc8763fde2cc685ed63fcf640cfae556252809b (patch) | |
tree | 4b76a5b82cbd657953bc4e2444a390c311a6601e /actionmailer/lib | |
parent | 27acd1e0d29c43dddd9c62b041a16c6e71e7bcf4 (diff) | |
download | rails-8fc8763fde2cc685ed63fcf640cfae556252809b.tar.gz rails-8fc8763fde2cc685ed63fcf640cfae556252809b.tar.bz2 rails-8fc8763fde2cc685ed63fcf640cfae556252809b.zip |
Allow delivery method options to be set per mail instance
Diffstat (limited to 'actionmailer/lib')
-rw-r--r-- | actionmailer/lib/action_mailer/base.rb | 2 | ||||
-rw-r--r-- | actionmailer/lib/action_mailer/delivery_methods.rb | 4 |
2 files changed, 3 insertions, 3 deletions
diff --git a/actionmailer/lib/action_mailer/base.rb b/actionmailer/lib/action_mailer/base.rb index f5c325179f..4a099553c0 100644 --- a/actionmailer/lib/action_mailer/base.rb +++ b/actionmailer/lib/action_mailer/base.rb @@ -683,7 +683,7 @@ module ActionMailer #:nodoc: m.charset = charset = headers[:charset] # Set configure delivery behavior - wrap_delivery_behavior!(headers.delete(:delivery_method)) + wrap_delivery_behavior!(headers.delete(:delivery_method),headers.delete(:delivery_method_options)) # Assign all headers except parts_order, content_type and body assignable = headers.except(:parts_order, :content_type, :body, :template_name, :template_path) diff --git a/actionmailer/lib/action_mailer/delivery_methods.rb b/actionmailer/lib/action_mailer/delivery_methods.rb index 3b38dbccc7..b795d4f80a 100644 --- a/actionmailer/lib/action_mailer/delivery_methods.rb +++ b/actionmailer/lib/action_mailer/delivery_methods.rb @@ -57,7 +57,7 @@ module ActionMailer self.delivery_methods = delivery_methods.merge(symbol.to_sym => klass).freeze end - def wrap_delivery_behavior(mail, method=nil) #:nodoc: + def wrap_delivery_behavior(mail, method=nil, options=nil) #:nodoc: method ||= self.delivery_method mail.delivery_handler = self @@ -66,7 +66,7 @@ module ActionMailer raise "Delivery method cannot be nil" when Symbol if klass = delivery_methods[method] - mail.delivery_method(klass, send(:"#{method}_settings")) + mail.delivery_method(klass,(send(:"#{method}_settings") || {}).merge!(options || {})) else raise "Invalid delivery method #{method.inspect}" end |