【问题标题】:Get the body of all unseen messages from an address IMAP Python从地址 IMAP Python 中获取所有未见消息的正文
【发布时间】:2019-06-21 00:04:45
【问题描述】:

我想使用 Python 3 中的 IMAP 库从一个地址获取所有未见消息的正文。我可以在此处使用此代码获取所有消息的正文

import imaplib

mail = imaplib.IMAP4_SSL('imap.gmail.com')

mail.login( 'EMAIL', 'PASSWORD' )

mail.list

mail.select("inbox")


obj, data = mail.search(None, 'ALL')

for num in data [0].split():

    typ, data = mail.fetch(num, 'BODY[1]')

print('Message %s\n%s\n' % (num, data[0][1]))

mail.close()

有什么方法可以缩小搜索范围,只返回来自单个地址(如 email@address.com)的看不见的消息?这个站点here 显示了看不见的标志,并且该用户能够获取我使用此脚本here 收到的电子邮件的电子邮件地址列表。我无法弄清楚如何更改代码以使其工作,因为它缺少部分。有什么方法可以将这三者结合起来达到我需要的结果吗?

【问题讨论】:

    标签: python python-3.x email imap


    【解决方案1】:

    ALL 替换为UNSEEN。 IMAP 有many search keys 可以使用,ALL 不是唯一的。

    【讨论】:

    • 谢谢,我应该能听懂的。有什么方法可以按用户过滤吗?那么我只是收到来自一位用户的看不见的消息,而不是全部?
    • 当然。您可能已经注意到该列表中的FROM 键? search(None, 'UNSEEN FROM "arnt"') 将匹配来自我的看不见的邮件(以及其他几千个误报,我并不是唯一一个)。
    • 谢谢,应该这样做。
    猜你喜欢
    • 1970-01-01
    • 2016-10-13
    • 2018-07-06
    • 2014-09-02
    • 2020-01-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多