mirror of
https://github.com/simple-login/app.git
synced 2024-09-20 15:05:59 +08:00
use user preferred sender format
This commit is contained in:
parent
33fd40f6ce
commit
7f49312255
|
@ -365,16 +365,22 @@ def get_orig_message_from_bounce(msg: Message) -> Message:
|
|||
return part
|
||||
|
||||
|
||||
def new_addr(old_addr, new_email) -> str:
|
||||
def new_addr(old_addr, new_email, user: User) -> str:
|
||||
"""replace First Last <first@example.com> by
|
||||
first@example.com by SimpleLogin <new_email>
|
||||
|
||||
`new_email` is a special reply address
|
||||
"""
|
||||
name, old_email = parseaddr(old_addr)
|
||||
if user.use_via_format_for_sender:
|
||||
new_name = f"{old_email} via SimpleLogin"
|
||||
new_addr = formataddr((new_name, new_email)).strip()
|
||||
else:
|
||||
name = name or ""
|
||||
new_name = (
|
||||
name + (" - " if name else "") + old_email.replace("@", " at ")
|
||||
).strip()
|
||||
|
||||
new_addr = formataddr((new_name, new_email)).strip()
|
||||
return new_addr.strip()
|
||||
|
||||
|
||||
|
|
|
@ -290,7 +290,9 @@ def replace_header_when_forward(msg: Message, alias: Alias, header: str):
|
|||
)
|
||||
db.session.commit()
|
||||
|
||||
new_addrs.append(new_addr(contact.website_from, contact.reply_email))
|
||||
new_addrs.append(
|
||||
new_addr(contact.website_from, contact.reply_email, alias.user)
|
||||
)
|
||||
need_replace = True
|
||||
|
||||
if need_replace:
|
||||
|
@ -438,7 +440,7 @@ def handle_forward(envelope, smtp: SMTP, msg: Message, rcpt_to: str) -> (bool, s
|
|||
# replace the email part in from: header
|
||||
contact_from_header = msg["From"]
|
||||
contact_name, contact_email = parseaddr(contact_from_header)
|
||||
new_from_header = new_addr(contact_from_header, contact.reply_email)
|
||||
new_from_header = new_addr(contact_from_header, contact.reply_email, user)
|
||||
add_or_replace_header(msg, "From", new_from_header)
|
||||
LOG.d("new_from_header:%s, old header %s", new_from_header, contact_from_header)
|
||||
|
||||
|
|
Loading…
Reference in a new issue