Skip to content

Commit

Permalink
Fixed: reminder mails are not sent when delivery_method is :async_smt…
Browse files Browse the repository at this point in the history
…p (#5058).

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@9367 e93f8b46-1217-0410-a6f0-8f06a7374b81
  • Loading branch information
jplang committed Apr 6, 2012
1 parent cfb06a2 commit fde9c73
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 2 deletions.
11 changes: 11 additions & 0 deletions app/models/mailer.rb
Expand Up @@ -372,6 +372,17 @@ def self.with_deliveries(enabled = true, &block)
ActionMailer::Base.perform_deliveries = was_enabled
end

# Sends emails synchronously in the given block
def self.with_synched_deliveries(&block)
saved_method = ActionMailer::Base.delivery_method
if m = saved_method.to_s.match(%r{^async_(.+)$})
ActionMailer::Base.delivery_method = m[1].to_sym
end
yield
ensure
ActionMailer::Base.delivery_method = saved_method
end

private
def initialize_defaults(method_name)
super
Expand Down
6 changes: 4 additions & 2 deletions lib/tasks/reminder.rake
Expand Up @@ -35,7 +35,9 @@ namespace :redmine do
options[:project] = ENV['project'] if ENV['project']
options[:tracker] = ENV['tracker'].to_i if ENV['tracker']
options[:users] = (ENV['users'] || '').split(',').each(&:strip!)

Mailer.reminders(options)

Mailer.with_synched_deliveries do
Mailer.reminders(options)
end
end
end

0 comments on commit fde9c73

Please sign in to comment.