FEATURE: If PM email bounced for staged user then alert in whisper reply (#6648)

This commit is contained in:
Vinoth Kannan
2018-11-27 00:29:37 +05:30
committed by GitHub
parent 8bca2647ea
commit cedd2118c4
5 changed files with 95 additions and 25 deletions

View File

@ -18,11 +18,9 @@ module Email
@receiver.process!
rescue RateLimiter::LimitExceeded
@retry_on_rate_limit ? Jobs.enqueue(:process_email, mail: @mail) : raise
rescue Email::Receiver::BouncedEmailError => e
# never reply to bounced emails
log_email_process_failure(@mail, e)
set_incoming_email_rejection_message(@receiver.incoming_email, I18n.t("emails.incoming.errors.bounced_email_error"))
rescue => e
return handle_bounce(e) if @receiver.is_bounce?
log_email_process_failure(@mail, e)
incoming_email = @receiver.try(:incoming_email)
rejection_message = handle_failure(@mail, e)
@ -34,6 +32,12 @@ module Email
private
def handle_bounce(e)
# never reply to bounced emails
log_email_process_failure(@mail, e)
set_incoming_email_rejection_message(@receiver.incoming_email, I18n.t("emails.incoming.errors.bounced_email_error"))
end
def handle_failure(mail_string, e)
message_template = case e
when Email::Receiver::NoSenderDetectedError then return nil