如何使用python imap工具获取看不见的电子邮件

如何使用python imap工具获取看不见的电子邮件,python,smtp,imap,imaplib,imap-tools,Python,Smtp,Imap,Imaplib,Imap Tools,我不想在收件箱中出现未看到的邮件时立即在邮件中看到这些邮件。循环使用这段代码,我总是可以检查看不见的消息,但这真的很麻烦,我不知道如何将消息标记为已读 那么,有什么方法可以让我使用IMAP工具在我的雅虎邮件收件箱中收到看不见的邮件呢?如果不是。。。我可以用另一个图书馆吗? 谢谢。来自imaptools和以下示例: from imap_tools import MailBox, AND import re yahooSmtpServer = "imap.mail.yahoo.com&q

我不想在收件箱中出现未看到的邮件时立即在邮件中看到这些邮件。循环使用这段代码,我总是可以检查看不见的消息,但这真的很麻烦,我不知道如何将消息标记为已读

那么,有什么方法可以让我使用IMAP工具在我的雅虎邮件收件箱中收到看不见的邮件呢?如果不是。。。我可以用另一个图书馆吗? 谢谢。

来自imaptools和以下示例:

from imap_tools import MailBox, AND
import re

yahooSmtpServer = "imap.mail.yahoo.com"

client = MailBox(yahooSmtpServer).login('myEmail', 'myPassword', 'INBOX')
for msg in client.fetch(AND(seen=False)):
    mail = msg.html
    print(mail)
            
似乎该代码应该可以工作:

# SEEN: flag as unseen all messages sent at 05.03.2007 in current folder, *in bulk
mailbox.seen(mailbox.fetch("SENTON 05-Mar-2007"), False)
根据imaptools和本例:

from imap_tools import MailBox, AND
import re

yahooSmtpServer = "imap.mail.yahoo.com"

client = MailBox(yahooSmtpServer).login('myEmail', 'myPassword', 'INBOX')
for msg in client.fetch(AND(seen=False)):
    mail = msg.html
    print(mail)
            
似乎该代码应该可以工作:

# SEEN: flag as unseen all messages sent at 05.03.2007 in current folder, *in bulk
mailbox.seen(mailbox.fetch("SENTON 05-Mar-2007"), False)

imap_tools BaseMailBox.fetch具有mark_seen参数

这在默认情况下是正确的,因此,默认情况下,电子邮件在获取时标记为“已看到”

但您可以手动执行此操作:

client = MailBox(yahooSmtpServer).login('myEmail', 'myPassword', 'INBOX')
for msg in client.fetch(AND(seen=False)):
    mail = msg.html
    print(mail)
# pass the email uid and bool here
    client.seen(msg.uid, True)

*另外,IMAP有一个新的搜索条件

IMAP\u tools BaseMailBox.fetch有一个mark\u seen参数

这在默认情况下是正确的,因此,默认情况下,电子邮件在获取时标记为“已看到”

但您可以手动执行此操作:

client = MailBox(yahooSmtpServer).login('myEmail', 'myPassword', 'INBOX')
for msg in client.fetch(AND(seen=False)):
    mail = msg.html
    print(mail)
# pass the email uid and bool here
    client.seen(msg.uid, True)

*此外,IMAP还有一个新的搜索条件

它可以工作,但我们必须传递msg.uid而不是msg。client.seen(msg.uid,True)现在可以工作了。谢谢你很好,谢谢你的编辑。它可以工作,但我们必须传递msg.uid而不是msg。client.seen(msg.uid,True)现在可以工作了。谢谢你很好,谢谢你的编辑。但是由于某些原因,它在默认情况下没有发生。。。但是这个方法是有效的。谢谢。但出于某种原因,它不是默认发生的。。。但是这个方法是有效的。谢谢