FEATURE: add support for One-Click unsubscribe (RFC 8058)

We were missing the "List-Unsubscribe-Post" header in emails we sent to allow Yahoo / GMail and others to automagically show a link to unsubscribe.

Internal ref - t/144713
This commit is contained in:
zogstrip
2024-12-31 15:04:42 +01:00
committed by Régis Hanol
parent 25351bdb8e
commit 4d889f2ef8
3 changed files with 15 additions and 3 deletions

View File

@ -223,10 +223,14 @@ module Email
def header_args
result = {}
if @opts[:add_unsubscribe_link]
unsubscribe_url =
@template_args[:unsubscribe_url].presence || @template_args[:user_preferences_url]
result["List-Unsubscribe"] = "<#{unsubscribe_url}>"
if unsubscribe_url = @template_args[:unsubscribe_url].presence
result["List-Unsubscribe"] = "<#{unsubscribe_url}>"
result["List-Unsubscribe-Post"] = "List-Unsubscribe=One-Click"
else
result["List-Unsubscribe"] = "<#{@template_args[:user_preferences_url]}>"
end
end
result["X-Discourse-Post-Id"] = @opts[:post_id].to_s if @opts[:post_id]