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
|
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
|
"""replace First Last <first@example.com> by
|
||||||
first@example.com by SimpleLogin <new_email>
|
first@example.com by SimpleLogin <new_email>
|
||||||
|
|
||||||
`new_email` is a special reply address
|
`new_email` is a special reply address
|
||||||
"""
|
"""
|
||||||
name, old_email = parseaddr(old_addr)
|
name, old_email = parseaddr(old_addr)
|
||||||
|
if user.use_via_format_for_sender:
|
||||||
new_name = f"{old_email} via SimpleLogin"
|
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()
|
return new_addr.strip()
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -290,7 +290,9 @@ def replace_header_when_forward(msg: Message, alias: Alias, header: str):
|
||||||
)
|
)
|
||||||
db.session.commit()
|
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
|
need_replace = True
|
||||||
|
|
||||||
if need_replace:
|
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
|
# replace the email part in from: header
|
||||||
contact_from_header = msg["From"]
|
contact_from_header = msg["From"]
|
||||||
contact_name, contact_email = parseaddr(contact_from_header)
|
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)
|
add_or_replace_header(msg, "From", new_from_header)
|
||||||
LOG.d("new_from_header:%s, old header %s", new_from_header, contact_from_header)
|
LOG.d("new_from_header:%s, old header %s", new_from_header, contact_from_header)
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue