python imaplib 解析 gmail

2 投票
1 回答
1378 浏览
提问于 2025-04-17 12:58
import imaplib

usr = 'someuser'
pwd = 'somepwd'

imap_server = imaplib.IMAP4_SSL('imap.gmail.com', 993)
imap_server.login(USER, PASSWORD)
imap_server.select('Inbox')

for message_id in imap_server.search(None, '(FROM "example email.com")')[1][0].split(" "):
    response = imap_server.fetch(message_id, "RFC822.TEXT")
    print response[1][0][1]

我想要查找主题和发件人地址都符合特定条件的邮件。我该如何调整这段代码来同时检查这两个条件呢?

另外,一旦我打开了一封邮件,我想在邮件内容中查找某些信息。有什么好的方法可以做到这一点吗?谢谢!

1 个回答

2

Python的imap库非常简单,它只是把imap的规范展示出来,具体可以参考这个链接:http://www.faqs.org/rfcs/rfc3501.html

fetch命令中,你可以获取邮件的多个部分,你可以选择获取整个符合RFC格式的邮件。你也可以这样进行搜索:

typ, data = imap_server.search(None, '(SUBJECT "Whatever you are searching for")')

你已经展示了如何获取一封邮件。当你拿到RFC格式的邮件后,可以在这封邮件中进行搜索,具体取决于你的搜索标准,比如正则表达式、邮件头中的某些内容等等。

撰写回答