通过python IMAP使用消息ID检索/搜索电子邮件

通过python IMAP使用消息ID检索/搜索电子邮件,python,email,imap,Python,Email,Imap,是否有一种方法可以通过python IMAP以编程方式使用消息ID检索/搜索电子邮件。我想使用消息ID提取邮件附件。 任何帮助都将不胜感激 谢谢大家前来帮助我。 我终于完成了。 我正在寻找一种方法来获取具有给定邮件ID的邮件附件, 我不知道如何在标题选项或任何其他搜索选项中指定带有消息ID的搜索命令 我觉得它可以帮助像我这样的人谁是新的IMAP,并希望类似的任务 最后,我通过这个搜索命令得到了它: #message id mid = '<CACDWeWHLGKbEHR-jM

是否有一种方法可以通过python IMAP以编程方式使用消息ID检索/搜索电子邮件。我想使用消息ID提取邮件附件。 任何帮助都将不胜感激


谢谢大家前来帮助我。 我终于完成了。 我正在寻找一种方法来获取具有给定邮件ID的邮件附件, 我不知道如何在标题选项或任何其他搜索选项中指定带有消息ID的搜索命令

我觉得它可以帮助像我这样的人谁是新的IMAP,并希望类似的任务 最后,我通过这个搜索命令得到了它:

    #message id
    mid = '<CACDWeWHLGKbEHR-jMmx8da9QzkpPxC7Dizy6T4fm2V30JoHMuw@mail.gmail.com>'

    #the search command
    typ, data = imapSession.search(None, '(HEADER Message-ID "%s")' % mid)
#消息id
中间=“”
#搜索命令
类型,数据=imapSession.search(无),(标题消息ID“%s”)“%mid)

谢谢大家前来帮助我。 我终于完成了。 我正在寻找一种方法来获取具有给定邮件ID的邮件附件, 我不知道如何在标题选项或任何其他搜索选项中指定带有消息ID的搜索命令

我觉得它可以帮助像我这样的人谁是新的IMAP,并希望类似的任务 最后,我通过这个搜索命令得到了它:

    #message id
    mid = '<CACDWeWHLGKbEHR-jMmx8da9QzkpPxC7Dizy6T4fm2V30JoHMuw@mail.gmail.com>'

    #the search command
    typ, data = imapSession.search(None, '(HEADER Message-ID "%s")' % mid)
#消息id
中间=“”
#搜索命令
类型,数据=imapSession.search(无),(标题消息ID“%s”)“%mid)

您可以使用imap\U工具包:

如果要按邮件ID查找邮件,请执行以下操作:

from imap_tools import MailBox, A, H

with MailBox('imap.mail.com').login('test@mail.com', 'pwd', 'INBOX') as mailbox:
    for msg in mailbox.fetch(A(header=H('Message-ID', 'a123406d-eaf2-58a4-be38@my.ru'))):
        print(msg.date, msg.headers['message-id'])
但通常情况下,您很可能需要一个“uid”

一些例子:

with MailBox('imap.mail.com').login('test@mail.com', 'pwd', 'INBOX') as mailbox:

    # COPY all messages from current folder to folder1, *by one
    for msg in mailbox.fetch():
        res = mailbox.copy(msg.uid, 'INBOX/folder1')

    # DELETE all messages from current folder, *in bulk (explicit creation of uid list)
    mailbox.delete([msg.uid for msg in mailbox.fetch()])

    # FLAG unseen messages in current folder as Answered and Flagged, *in bulk.
    flags = (imap_tools.StandardMessageFlags.ANSWERED, imap_tools.StandardMessageFlags.FLAGGED)
    mailbox.flag(mailbox.fetch('(UNSEEN)'), flags, True)

尊敬的imap_工具作者。

您可以使用imap_工具包:

如果要按邮件ID查找邮件,请执行以下操作:

from imap_tools import MailBox, A, H

with MailBox('imap.mail.com').login('test@mail.com', 'pwd', 'INBOX') as mailbox:
    for msg in mailbox.fetch(A(header=H('Message-ID', 'a123406d-eaf2-58a4-be38@my.ru'))):
        print(msg.date, msg.headers['message-id'])
但通常情况下,您很可能需要一个“uid”

一些例子:

with MailBox('imap.mail.com').login('test@mail.com', 'pwd', 'INBOX') as mailbox:

    # COPY all messages from current folder to folder1, *by one
    for msg in mailbox.fetch():
        res = mailbox.copy(msg.uid, 'INBOX/folder1')

    # DELETE all messages from current folder, *in bulk (explicit creation of uid list)
    mailbox.delete([msg.uid for msg in mailbox.fetch()])

    # FLAG unseen messages in current folder as Answered and Flagged, *in bulk.
    flags = (imap_tools.StandardMessageFlags.ANSWERED, imap_tools.StandardMessageFlags.FLAGGED)
    mailbox.flag(mailbox.fetch('(UNSEEN)'), flags, True)

您好,imap_工具的作者。

到目前为止您尝试了什么?有没有办法。。。?对但是,请展示您已经尝试过的内容….
搜索标题
是您的朋友,但是它在许多服务器上实施得很糟糕或被破坏。到目前为止,您尝试过什么?有没有办法。。。?对但是,请展示您尝试过的内容….
搜索标题
是您的朋友,但是它在许多服务器上实施得很糟糕或已损坏。