mirror of
https://github.com/simple-login/app.git
synced 2024-09-27 20:31:30 +02:00
Refactor: create Alias.unsubscribe_link
This commit is contained in:
parent
f624085aa3
commit
ea45ac119e
@ -1020,6 +1020,15 @@ class Alias(db.Model, ModelMixin):
|
||||
else:
|
||||
return self.user.email
|
||||
|
||||
def unsubscribe_link(self) -> (str, bool):
|
||||
"""return the unsubscribe link along with whether this is via email (mailto:) or Http POST
|
||||
The mailto: method is preferred
|
||||
"""
|
||||
if UNSUBSCRIBER:
|
||||
return f"mailto:{UNSUBSCRIBER}?subject={self.id}=", True
|
||||
else:
|
||||
return f"{URL}/dashboard/unsubscribe/{self.id}", False
|
||||
|
||||
def __repr__(self):
|
||||
return f"<Alias {self.id} {self.email}>"
|
||||
|
||||
|
@ -654,12 +654,9 @@ def forward_email_to_mailbox(
|
||||
add_or_replace_header(msg, "To", to_header.strip())
|
||||
|
||||
# add List-Unsubscribe header
|
||||
if UNSUBSCRIBER:
|
||||
unsubscribe_link = f"mailto:{UNSUBSCRIBER}?subject={alias.id}="
|
||||
add_or_replace_header(msg, "List-Unsubscribe", f"<{unsubscribe_link}>")
|
||||
else:
|
||||
unsubscribe_link = f"{URL}/dashboard/unsubscribe/{alias.id}"
|
||||
add_or_replace_header(msg, "List-Unsubscribe", f"<{unsubscribe_link}>")
|
||||
unsubscribe_link, via_email = alias.unsubscribe_link()
|
||||
add_or_replace_header(msg, "List-Unsubscribe", f"<{unsubscribe_link}>")
|
||||
if not via_email:
|
||||
add_or_replace_header(
|
||||
msg, "List-Unsubscribe-Post", "List-Unsubscribe=One-Click"
|
||||
)
|
||||
|
Loading…
Reference in New Issue
Block a user