FIX: Stripping lines from incoming email shouldn't fail for blank body (#10800)

This commit is contained in:
Gerhard Schlager 2020-10-02 15:44:35 +02:00 committed by GitHub
parent babbebfb35
commit 99181bb3b8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 20 additions and 1 deletions

View File

@ -395,7 +395,7 @@ module Email
text, elided_text, text_format = markdown, elided_markdown, Receiver::formats[:markdown]
end
if SiteSetting.strip_incoming_email_lines
if SiteSetting.strip_incoming_email_lines && text.present?
in_code = nil
text = text.lines.map! do |line|

View File

@ -1549,6 +1549,25 @@ describe Email::Receiver do
expect(text).to eq(stripped_text)
end
it "works with empty mail body" do
SiteSetting.strip_incoming_email_lines = true
email = <<~EOF
Date: Tue, 01 Jan 2019 00:00:00 +0300
Subject: An email with whitespaces
From: Foo <foo@discourse.org>
To: bar@discourse.org
Content-Type: text/plain; charset="UTF-8"
--
my signature
EOF
receiver = Email::Receiver.new(email)
text, _elided, _format = receiver.select_body
expect(text).to be_blank
end
end
describe "replying to digest" do