FIX: receiving a bounce from a deleted user

This commit is contained in:
Régis Hanol 2016-06-22 20:41:21 +02:00
parent d0a51df4d0
commit 8c51d34100

View file

@ -150,15 +150,17 @@ module Email
bounce_key = verp[/\+verp-(\h{32})@/, 1]
if bounce_key && (email_log = EmailLog.find_by(bounce_key: bounce_key))
email_log.update_columns(bounced: true)
if @mail.error_status.present?
if @mail.error_status.start_with?("4.")
Email::Receiver.update_bounce_score(email_log.user.email, SOFT_BOUNCE_SCORE)
elsif @mail.error_status.start_with?("5.")
Email::Receiver.update_bounce_score(email_log.user.email, HARD_BOUNCE_SCORE)
email = email_log.user.try(:email) || @from_email
if email.present?
if @mail.error_status.present?
if @mail.error_status.start_with?("4.")
Email::Receiver.update_bounce_score(email, SOFT_BOUNCE_SCORE)
elsif @mail.error_status.start_with?("5.")
Email::Receiver.update_bounce_score(email, HARD_BOUNCE_SCORE)
end
elsif is_auto_generated?
Email::Receiver.update_bounce_score(email, HARD_BOUNCE_SCORE)
end
elsif is_auto_generated?
Email::Receiver.update_bounce_score(email_log.user.email, HARD_BOUNCE_SCORE)
end
end
end