如何使用 python imap-tools 获取看不见的电子邮件
How to get unseen emails using python imap-tools
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)
我不想在收件箱中收到未看到的邮件。遍历这段代码我总是可以检查看不见的消息,但这真的很麻烦,我不知道如何将消息标记为已读。
有什么方法可以使用 IMAP 工具在我的雅虎邮箱收件箱中获取看不见的邮件?如果没有...我可以使用另一个库吗?
谢谢。
来自 imaptools documentation 和这个例子:
# SEEN: flag as unseen all messages sent at 05.03.2007 in current folder, *in bulk
mailbox.flag(mailbox.fetch("SENTON 05-Mar-2007"), MailMessageFlags.SEEN, False)
看来这段代码应该可以工作:
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.flag(msg.uid, MailMessageFlags.SEEN, True)
imap_tools BaseMailBox.fetch 有 mark_seen 个参数。
默认情况下为 True,因此默认情况下,电子邮件在提取时标记为“已读”。
但您可以手动完成:
from imap_tools import MailBox, MailMessageFlags
with MailBox('imap.mail.com').login('test@mail.com', 'pwd') as mailbox:
uids = [msg.uid for msg in mailbox.fetch(mark_seen=False)]
mailbox.flag(uids, MailMessageFlags.SEEN, True)
*IMAP 也有新的搜索条件
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)
我不想在收件箱中收到未看到的邮件。遍历这段代码我总是可以检查看不见的消息,但这真的很麻烦,我不知道如何将消息标记为已读。
有什么方法可以使用 IMAP 工具在我的雅虎邮箱收件箱中获取看不见的邮件?如果没有...我可以使用另一个库吗? 谢谢。
来自 imaptools documentation 和这个例子:
# SEEN: flag as unseen all messages sent at 05.03.2007 in current folder, *in bulk
mailbox.flag(mailbox.fetch("SENTON 05-Mar-2007"), MailMessageFlags.SEEN, False)
看来这段代码应该可以工作:
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.flag(msg.uid, MailMessageFlags.SEEN, True)
imap_tools BaseMailBox.fetch 有 mark_seen 个参数。
默认情况下为 True,因此默认情况下,电子邮件在提取时标记为“已读”。
但您可以手动完成:
from imap_tools import MailBox, MailMessageFlags
with MailBox('imap.mail.com').login('test@mail.com', 'pwd') as mailbox:
uids = [msg.uid for msg in mailbox.fetch(mark_seen=False)]
mailbox.flag(uids, MailMessageFlags.SEEN, True)
*IMAP 也有新的搜索条件