Add standard List-XXX headers to some notification messages

This commit is contained in:
Tom Hughes 2024-02-24 09:57:21 +00:00
parent f0764d3eca
commit 8f3838fada
2 changed files with 32 additions and 0 deletions

View file

@ -104,6 +104,14 @@ class UserMailer < ApplicationMailer
set_references("diary", comment.diary_entry) set_references("diary", comment.diary_entry)
set_list_headers(
"#{comment.diary_entry.id}.diary.www.openstreetmap.org",
t(".description", :id => comment.diary_entry.id),
:archive => @readurl,
:subscribe => diary_entry_subscribe_url(comment.diary_entry.user, comment.diary_entry),
:unsubscribe => @unsubscribeurl
)
mail :from => from_address(comment.user.display_name, "c", comment.id, comment.notification_token(recipient.id), recipient.id), mail :from => from_address(comment.user.display_name, "c", comment.id, comment.notification_token(recipient.id), recipient.id),
:to => recipient.email, :to => recipient.email,
:subject => t(".subject", :user => comment.user.display_name) :subject => t(".subject", :user => comment.user.display_name)
@ -142,6 +150,12 @@ class UserMailer < ApplicationMailer
set_references("note", comment.note) set_references("note", comment.note)
set_list_headers(
"#{comment.note.id}.note.www.openstreetmap.org",
t(".description", :id => comment.note.id),
:archive => @noteurl
)
subject = if @owner subject = if @owner
t(".#{@event}.subject_own", :commenter => @commenter) t(".#{@event}.subject_own", :commenter => @commenter)
else else
@ -175,6 +189,14 @@ class UserMailer < ApplicationMailer
set_references("changeset", comment.changeset) set_references("changeset", comment.changeset)
set_list_headers(
"#{comment.changeset.id}.changeset.www.openstreetmap.org",
t(".description", :id => comment.changeset.id),
:subscribe => changeset_subscribe_url(comment.changeset),
:unsubscribe => @unsubscribe_url,
:archive => @changeset_url
)
mail :to => recipient.email, :subject => subject mail :to => recipient.email, :subject => subject
end end
end end
@ -247,4 +269,11 @@ class UserMailer < ApplicationMailer
headers["In-Reply-To"] = ref headers["In-Reply-To"] = ref
headers["References"] = ref headers["References"] = ref
end end
def set_list_headers(id, description, options = {})
headers["List-ID"] = "#{description} <#{id}>"
headers["List-Archive"] = "<#{options[:archive]}>" if options[:archive]
headers["List-Subscribe"] = "<#{options[:subscribe]}>" if options[:subscribe]
headers["List-Unsubscribe"] = "<#{options[:unsubscribe]}>" if options[:unsubscribe]
end
end end

View file

@ -1584,6 +1584,7 @@ en:
more: More more: More
user_mailer: user_mailer:
diary_comment_notification: diary_comment_notification:
description: "OpenStreetMap Diary Entry #%{id}"
subject: "[OpenStreetMap] %{user} commented on a diary entry" subject: "[OpenStreetMap] %{user} commented on a diary entry"
hi: "Hi %{to_user}," hi: "Hi %{to_user},"
header: "%{from_user} has commented on the OpenStreetMap diary entry with the subject %{subject}:" header: "%{from_user} has commented on the OpenStreetMap diary entry with the subject %{subject}:"
@ -1640,6 +1641,7 @@ en:
hopefully_you: "Someone (possibly you) has asked for the password to be reset on this email address's openstreetmap.org account." hopefully_you: "Someone (possibly you) has asked for the password to be reset on this email address's openstreetmap.org account."
click_the_link: "If this is you, please click the link below to reset your password." click_the_link: "If this is you, please click the link below to reset your password."
note_comment_notification: note_comment_notification:
description: "OpenStreetMap Note #%{id}"
anonymous: An anonymous user anonymous: An anonymous user
greeting: "Hi," greeting: "Hi,"
commented: commented:
@ -1666,6 +1668,7 @@ en:
details: "More details about the note can be found at %{url}." details: "More details about the note can be found at %{url}."
details_html: "More details about the note can be found at %{url}." details_html: "More details about the note can be found at %{url}."
changeset_comment_notification: changeset_comment_notification:
description: "OpenStreetMap Changeset #%{id}"
hi: "Hi %{to_user}," hi: "Hi %{to_user},"
greeting: "Hi," greeting: "Hi,"
commented: commented: