mirror of
https://github.com/discourse/discourse.git
synced 2025-05-22 07:53:49 +08:00
FEATURE: If PM email bounced for staged user then alert in whisper reply (#6648)
This commit is contained in:
@ -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
|
||||
|
Reference in New Issue
Block a user