按发件人查找邮件 IMAP.search()

Find messages by sender IMAP.search()

我使用 imaplib 库来处理电子邮件。我想找到一个人的所有电子邮件。下一个代码不适用于所有消息:

    typ, data = con.search(None, 'FROM "name.surname@testmail.com"')

有时我需要这样设置才能找到消息:

    typ, data = con.search(None, 'FROM "Surname, Name"')

而且我找不到通过电子邮件发送的消息。如果我理解正确,它仅适用于 html 格式的消息。

    print(message['From'])
    print(type(message['From']))

接下来将打印该代码:

    "Surname, Name" <name.surname@testmail.com>
    <class 'str'>

为什么搜索功能不搜索此字符串中所有可能提及的内容?它不像普通的字符串搜索那样工作吗?如果我想查找电子邮件为“@testmail.com”的所有邮件,而不是来自特定人员的邮件,我应该如何搜索?

我在这里找到了答案:IMAP search for email address in the from field

只需使用下一个作为过滤器:

(HEADER FROM "name.surname@testmail.com")