add unsubscription link in mail headers (#19579)

This commit is contained in:
Serghei Mihai 2017-10-26 15:08:08 +02:00
parent e5b05b4db0
commit f46f80e445
2 changed files with 2 additions and 0 deletions

View File

@ -60,6 +60,7 @@ def send_email(title, content, destinations, category_id):
'identifier': dest})
unsubscribe_link = urlparse.urljoin(settings.SITE_BASE_URL, reverse(
'unsubscribe', kwargs={'unsubscription_token': unsubscribe_token}))
message.set_headers({'List-Unsubscribe': '<%s>' % unsubscribe_link})
message.html = orig_html.replace(UNSUBSCRIBE_LINK_PLACEHOLDER, unsubscribe_link)
message.text = orig_text.replace(UNSUBSCRIBE_LINK_PLACEHOLDER, unsubscribe_link)

View File

@ -134,6 +134,7 @@ def test_unsubscription_link(app, categories, announces, custom_mailoutbox):
index = i*subscriptions_number+counter
signature = urllib.unquote(re.findall('/unsubscribe/(.*)"', mail.outbox[index].html)[0])
unsubscription_link = reverse('unsubscribe', kwargs={'unsubscription_token': signature})
assert mail.outbox[index]._headers['List-Unsubscribe'] == '<http://localhost%s>' % unsubscription_link
assert unsubscription_link in mail.outbox[index].html
assert unsubscription_link in mail.outbox[index].text
assert unsubscription_link_sentinel != unsubscription_link