簡體   English   中英

imaplib不在文件夾中獲取所有電子郵件

[英]imaplib not getting all emails in folder

我有一個困惑的問題。 我正在使用imaplib在“已發送”文件夾中搜索電子郵件,然后將其導出到csv中。 它工作得很好,除了不會收到所有電子郵件。 那天似乎從午夜到下午6點收到電子郵件,然后從下午6點到11:59 PM沒有收到任何電子郵件。 我相信我在某處讀到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)

我知道了我的問題。 我沒有正確關閉CSV文件。 噓我! 這幫助我確定並解決了我的問題-> https://stackoverflow.com/questions/15772275/writing-to-csv-from-list-write-row-seems-to-stop-in-a-strange-place

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM