From ce791567f1a5c548266de7891d8f618de8f92a5c Mon Sep 17 00:00:00 2001 From: Son NK <> Date: Tue, 25 Aug 2020 12:48:28 +0200 Subject: [PATCH] delete header if empty when replacing header --- email_handler.py | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/email_handler.py b/email_handler.py index 1923c9c7..500e4065 100644 --- a/email_handler.py +++ b/email_handler.py @@ -194,7 +194,6 @@ def replace_header_when_forward(msg: Message, alias: Alias, header: str): return new_addrs: [str] = [] - need_replace = False for addr in addrs: contact_name, contact_email = parseaddr_unicode(addr) @@ -237,14 +236,14 @@ def replace_header_when_forward(msg: Message, alias: Alias, header: str): db.session.commit() new_addrs.append(contact.new_addr()) - need_replace = True - if need_replace: + if new_addrs: new_header = ",".join(new_addrs) LOG.d("Replace %s header, old: %s, new: %s", header, msg[header], new_header) add_or_replace_header(msg, header, new_header) else: - LOG.d("No need to replace %s header", header) + LOG.d("Delete %s header, old value %s", header, msg[header]) + delete_header(msg, header) def replace_header_when_reply(msg: Message, alias: Alias, header: str): @@ -276,9 +275,13 @@ def replace_header_when_reply(msg: Message, alias: Alias, header: str): else: new_addrs.append(formataddr((contact.name, contact.website_email))) - new_header = ",".join(new_addrs) - LOG.d("Replace %s header, old: %s, new: %s", header, msg[header], new_header) - add_or_replace_header(msg, header, new_header) + if new_addrs: + new_header = ",".join(new_addrs) + LOG.d("Replace %s header, old: %s, new: %s", header, msg[header], new_header) + add_or_replace_header(msg, header, new_header) + else: + LOG.d("delete the %s header. Old value %s", header, msg[header]) + delete_header(msg, header) def replace_str_in_msg(msg: Message, fr: str, to: str):