Sfoglia il codice sorgente

use user preferred sender format

Son NK 5 anni fa
parent
commit
7f49312255
2 ha cambiato i file con 13 aggiunte e 5 eliminazioni
  1. 9 3
      app/email_utils.py
  2. 4 2
      email_handler.py

+ 9 - 3
app/email_utils.py

@@ -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)
-    new_name = f"{old_email} via SimpleLogin"
-    new_addr = formataddr((new_name, new_email)).strip()
+    if user.use_via_format_for_sender:
+        new_name = f"{old_email} via SimpleLogin"
+    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()
 
 

+ 4 - 2
email_handler.py

@@ -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)