mirror of
https://github.com/discourse/discourse.git
synced 2025-02-16 16:24:55 +00:00
FIX: bounced email can contain multiple status codes
This commit is contained in:
parent
7ca2e6a80c
commit
ceb7590bcb
lib/email
spec
@ -169,7 +169,7 @@ module Email
|
||||
|
||||
email ||= @from_email
|
||||
|
||||
if @mail.error_status.present? && @mail.error_status.start_with?("4.")
|
||||
if @mail.error_status.present? && Array.wrap(@mail.error_status).any? { |s| s.start_with?("4.") }
|
||||
Email::Receiver.update_bounce_score(email, SiteSetting.soft_bounce_score)
|
||||
else
|
||||
Email::Receiver.update_bounce_score(email, SiteSetting.hard_bounce_score)
|
||||
|
@ -81,6 +81,9 @@ describe Email::Receiver do
|
||||
it "raises a BouncerEmailError when email is a bounced email" do
|
||||
expect { process(:bounced_email) }.to raise_error(Email::Receiver::BouncedEmailError)
|
||||
expect(IncomingEmail.last.is_bounce).to eq(true)
|
||||
|
||||
expect { process(:bounced_email_multiple_status_codes) }.to raise_error(Email::Receiver::BouncedEmailError)
|
||||
expect(IncomingEmail.last.is_bounce).to eq(true)
|
||||
end
|
||||
|
||||
it "logs a blank error" do
|
||||
|
BIN
spec/fixtures/emails/bounced_email_multiple_status_codes.eml
vendored
Normal file
BIN
spec/fixtures/emails/bounced_email_multiple_status_codes.eml
vendored
Normal file
Binary file not shown.
Loading…
x
Reference in New Issue
Block a user