編程,我最好的建議是:總是閱讀文檔。
也許你應該先閱讀tutorial。
的documentation提供了一個例子:
import getpass, imaplib
M = imaplib.IMAP4()
M.login(getpass.getuser(), getpass.getpass())
M.select()
typ, data = M.search(None, 'ALL')
for num in data[0].split():
typ, data = M.fetch(num, '(RFC822)')
print 'Message %s\n%s\n' % (num, data[0][3])
M.close()
M.logout()
您是否嘗試過?
關於你的代碼:
當你定義一個for
loop,它應該是這樣的:
for x in some_data_set:
x
是一個變量,同時持有一個項目的值(和只能在for循環體中訪問(有一個例外,但這裏不重要))。
你在做什麼與imaplib模塊無關,但只是錯誤的語法。
Btw。 .select()
選擇一個郵箱,並且只返回郵箱中的郵件數量。即只是標量值,沒有序列,你可以遍歷:
IMAP4.select([mailbox[, readonly]])
Select a mailbox. Returned data is the count of messages in mailbox (EXISTS response). The default mailbox is 'INBOX'. If the readonly flag is set, modifications to the mailbox are not allowed.
(這確實涉及到imaplib模塊;))