【问题标题】:Find messages by different criteria IMAP.search()按不同条件查找邮件 IMAP.search()
【发布时间】:2019-11-11 20:18:58
【问题描述】:

我使用 imaplib 库来处理电子邮件。如何使用 IMAP4.search() 搜索具有多个参数的消息?
例如,查找来自发件人“test@testmail.com”、主题为“主题”的特定日期之后的所有未读邮件。
我有一个想法进行“逐个”搜索,我的意思是在前一个的结果中使用下一个参数进行搜索,但是:

    typ, data = con.search(None, '(UNSEEN)')

结果存储在列表中,我不能在该列表中使用search() 函数。有什么想法吗?

【问题讨论】:

    标签: python email imap imaplib


    【解决方案1】:

    'UNSEEN FROM "test@testmail.com" SUBJECT "Subject" SINCE 17-may-1814' 应该是你想要的。所有这些实际上都不区分大小写,大写通常用于关键字但没关系。

    您会在older SO questions about this 中找到很多很多示例。

    【讨论】:

      【解决方案2】:

      只是对 arnt 答案的一个小补充 - 可以使用列表而不是字符串:

          search_list = []
          search_list += ['UNSEEN']
          search_list += ['FROM', '"%s"' % sender_name]
          search_list += ['SUBJECT', '"%s"' % subject]
      
          typ, data = con.search(None, *search_list)
      

      【讨论】:

        猜你喜欢
        • 2019-11-21
        • 1970-01-01
        • 1970-01-01
        • 2014-09-17
        • 2017-10-19
        • 1970-01-01
        • 2014-02-20
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多