jon*_*ond 15 python gmail imap
有人可以帮我定制现有的代码示例吗?
我可以从下面的文章中看到如何连接到Gmail和下载内容,但我无法弄清楚如何搜索特定的电子邮件,只下载时间戳和正文?
我特别想在过去5天内收到"Alerts@foobank.com"的电子邮件,并下载发送时间和电子邮件正文.然后我将解析这个以确定我需要使用哪些电子邮件.
我是自学成才,并且很难自定义上面的脚本来完成这项工作.
任何帮助深表感谢.谢谢.
JD
Rob*_*wie 18
我建议使用IMAPClient作为IMAP许多更深奥的方面的论文.
以下代码段将根据您的条件提取邮件,将邮件字符串解析为email.message.Message实例并打印Date和From标题.
from datetime import datetime, timedelta
import email
from imapclient import IMAPClient
HOST = 'imap.gmail.com'
USERNAME = 'username'
PASSWORD = 'password'
ssl = True
today = datetime.today()
cutoff = today - timedelta(days=5)
## Connect, login and select the INBOX
server = IMAPClient(HOST, use_uid=True, ssl=ssl)
server.login(USERNAME, PASSWORD)
select_info = server.select_folder('INBOX')
## Search for relevant messages
## see http://tools.ietf.org/html/rfc3501#section-6.4.5
messages = server.search(
['FROM "Alerts@foobank.com"', 'SINCE %s' % cutoff.strftime('%d-%b-%Y')])
response = server.fetch(messages, ['RFC822'])
for msgid, data in response.iteritems():
msg_string = data['RFC822']
msg = email.message_from_string(msg_string)
print 'ID %d: From: %s Date: %s' % (msgid, msg['From'], msg['date'])
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10173 次 |
| 最近记录: |