From a2187b0acdf70e8613459e9726fff37f03e0ff11 Mon Sep 17 00:00:00 2001 From: Gerhard Schlager Date: Fri, 15 Sep 2017 16:47:19 +0200 Subject: [PATCH] FIX: better error handling for incoming emails --- lib/email/processor.rb | 6 +++--- lib/email/receiver.rb | 2 ++ 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/lib/email/processor.rb b/lib/email/processor.rb index 959adcad17d..9afa39dc785 100644 --- a/lib/email/processor.rb +++ b/lib/email/processor.rb @@ -24,7 +24,7 @@ module Email rescue => e log_email_process_failure(@mail, e) incoming_email = receiver.try(:incoming_email) - rejection_message = handle_failure(@mail, e, incoming_email) + rejection_message = handle_failure(@mail, e) if rejection_message.present? set_incoming_email_rejection_message(incoming_email, rejection_message.body.to_s) end @@ -33,7 +33,7 @@ module Email private - def handle_failure(mail_string, e, incoming_email) + def handle_failure(mail_string, e) message_template = case e when Email::Receiver::EmptyEmailError then :email_reject_empty when Email::Receiver::NoSenderDetectedError then :email_reject_empty @@ -105,7 +105,7 @@ module Email end def set_incoming_email_rejection_message(incoming_email, message) - incoming_email.update_attributes!(rejection_message: message) + incoming_email.update_attributes!(rejection_message: message) if incoming_email end def log_email_process_failure(mail_string, exception) diff --git a/lib/email/receiver.rb b/lib/email/receiver.rb index ed0aeeeea33..e3e43f24f85 100644 --- a/lib/email/receiver.rb +++ b/lib/email/receiver.rb @@ -284,6 +284,8 @@ module Email end end + nil + rescue StandardError nil end