【发布时间】:2014-02-02 16:29:08
【问题描述】:
我有一个令我困惑的问题。我正在使用 imaplib 在 Sent 文件夹中搜索电子邮件,然后将它们导出到 csv 中。它工作得很好,只是它没有收到所有的电子邮件。那天似乎从午夜到下午 6 点收到电子邮件,然后从下午 6 点到晚上 11:59 没有收到任何电子邮件。我相信我在某处读到 imaplib 使用 GMT(也许我错了?)所以这可能是问题(我是 EST)吗?除了查询社区之外,我不知道如何解决这个问题。
下面的代码示例。我可以提供任何必要的信息来协助提供帮助。提前致谢!
import imaplib
import datetime
import csv
TODAYSDATE = datetime.date.today().strftime("%d-%b-%Y").strip()
ONEDAYAGO = (datetime.date.today() - datetime.timedelta(days=1)).strftime("%d-%b-%Y").strip()
SERVER = 'server.email.com'
IMAPPORT = 993
CSVFILE = "EMAILS.csv"
EMAILS = []
TO = []
mailbox = imaplib.IMAP4_SSL(SERVER, IMAPPORT)
mailbox.login(USER, PASS)
mailbox.select('Sent')
typ, data = mailbox.search(None, '(since %s before %s)' % (ONEDAYAGO, TODAYSDATE))
for sentto in data[0].split():
typ, data = mailbox.fetch(sentto, '(RFC822.SIZE BODY[HEADER.FIELDS (TO)])')
message = data[0][1].lstrip('To: ').strip() + ' '
print message
TO.append([message])
TO.insert(0, ['TO'])
TO_FINAL = [l[0] for l in TO]
mailbox.close()
mailbox.logout()
rows = zip(TO_FINAL)
print rows
CSV = open(CSVFILE, 'wb')
WRITECSV = csv.writer(CSV)
for row in rows:
WRITECSV.writerow(row)
【问题讨论】:
-
请提供演示错误的最短程序。 stackoverflow.com/help/mcve
标签: python email python-2.7 imaplib