From df46d704e882823c30bc5cf0f2b88da8db98b47f Mon Sep 17 00:00:00 2001 From: Jean-Philippe Lang Date: Sun, 31 Jan 2010 11:41:58 +0000 Subject: [PATCH] Log email delivery errors. git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@3356 e93f8b46-1217-0410-a6f0-8f06a7374b81 --- app/models/mailer.rb | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/app/models/mailer.rb b/app/models/mailer.rb index b16b6a1cf..00a390a02 100644 --- a/app/models/mailer.rb +++ b/app/models/mailer.rb @@ -284,7 +284,21 @@ class Mailer < ActionMailer::Base if @references_objects mail.references = @references_objects.collect {|o| self.class.message_id_for(o)} end - super(mail) + + # Log errors when raise_delivery_errors is set to false, Rails does not + raise_errors = self.class.raise_delivery_errors + self.class.raise_delivery_errors = true + begin + return super(mail) + rescue Exception => e + if raise_errors + raise e + elsif mylogger + mylogger.error "The following error occured while sending email notification: \"#{e.message}\". Check your configuration in config/email.yml." + end + ensure + self.class.raise_delivery_errors = raise_errors + end end # Sends reminders to issue assignees