FIX: Don't reply to Unsubscribe email sent to mailing list mirror

This commit is contained in:
Gerhard Schlager 2018-10-11 16:08:57 +02:00
parent ded5ff90aa
commit 7a41a783a4
3 changed files with 20 additions and 0 deletions

View File

@ -838,6 +838,8 @@ module Email
def subscription_action_for(body, subject)
return unless SiteSetting.unsubscribe_via_email
return if sent_to_mailinglist_mirror?
if ([subject, body].compact.map(&:to_s).map(&:downcase) & ['unsubscribe']).any?
:confirm_unsubscribe
end

View File

@ -1103,6 +1103,13 @@ describe Email::Receiver do
expect { process(:mailinglist_reply) }.to change { topic.posts.count }
end
end
it "ignores unsubscribe email" do
SiteSetting.unsubscribe_via_email = true
Fabricate(:user, email: "alice@foo.com")
expect { process("mailinglist_unsubscribe") }.to_not change { ActionMailer::Base.deliveries.count }
end
end
it "tries to fix unparsable email addresses in To and CC headers" do

View File

@ -0,0 +1,11 @@
Return-Path: <discourse@bar.com>
From: alice@foo.com
To: list@example.com
Date: Thu, 13 Jun 2013 17:03:48 -0400
Message-ID: <56@foo.bar.mail>
Subject: UnSuBScRiBe
Mime-Version: 1.0
Content-Type: text/plain;
Content-Transfer-Encoding: 7bit
I've basically had enough of your mailing list and would very much like it if you went away.