2012-02-13 66 views
2
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] 

我想搜索某个主题和电子邮件地址的电子邮件。如何调整此代码以适合两者的检查?python imaplib解析gmail

此外,一旦我打开一条消息,我想搜索某些内容的消息。什么 是最好的方式去做这件事?谢谢!

+1

请不要让你的整个问题黑体字。它看起来很可怕,感觉就像你在尖叫着我。 – Blender 2012-02-13 18:47:16

+0

另外,看看这个:http://libgmail.sourceforge.net/ – Blender 2012-02-13 18:47:51

回答

2

蟒蛇IMAP包装是非常薄 - 它只是暴露了IMAP规范,见http://www.faqs.org/rfcs/rfc3501.html

命令,您可以获取邮件的几个部分,你选择获取整个RFC格式化邮件。您也可以像这样搜索:

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

您已经展示了如何获取邮件。当你有RFC邮件在你手中。在这个邮件中搜索,取决于你的标准是什么:一个正则表达式,在标题中的东西,...