diff --git a/common/data_source/imap_connector.py b/common/data_source/imap_connector.py index acaba7e01e..f682676e8e 100644 --- a/common/data_source/imap_connector.py +++ b/common/data_source/imap_connector.py @@ -8,7 +8,7 @@ import re from datetime import datetime, timedelta from datetime import timezone from email.message import Message -from email.utils import collapse_rfc2231_value, parseaddr +from email.utils import collapse_rfc2231_value, getaddresses from enum import Enum from typing import Any from typing import cast @@ -617,9 +617,9 @@ def _sanitize_mailbox_names(mailboxes: list[str]) -> list[str]: def _parse_addrs(raw_header: str) -> list[tuple[str, str]]: - addrs = raw_header.split(",") - name_addr_pairs = [parseaddr(addr=addr) for addr in addrs if addr] - return [(name, addr) for name, addr in name_addr_pairs if addr] + if not raw_header: + return [] + return getaddresses([raw_header]) def _parse_singular_addr(raw_header: str) -> tuple[str, str]: @@ -721,4 +721,4 @@ if __name__ == "__main__": start=START, end=END, ): - print(doc.id,doc.extension) \ No newline at end of file + print(doc.id,doc.extension)