mail = imaplib.IMAP4_SSL('imap.gmail.com')
(retcode, capabilities) = mail.login('email','pass')
mail.list()
mail.select('inbox')
n=0
(retcode, messages) = mail.search(None, '(UNSEEN)')
if retcode == 'OK':
for num in messages[0].split() :
print 'Processing '
n=n+1
typ, data = mail.fetch(num,'(RFC822)')
for response_part in data:
if isinstance(response_part, tuple):
original = email.message_from_string(response_part[1])
print original['From']
print original['Subject']
typ, data = mail.store(num,'+FLAGS','\\Seen')
print n
上面的答案实际上已经不起作用了,或者可能从来没有起作用,但是我修改了它,所以它只返回看不见的消息,它曾经给出:error cannot parse fetch command或者类似的东西这里是一个工作代码:
我认为错误来自
messages[0].split(' ')
,但是上面的代码应该可以正常工作。还要注意
+FLAGS
而不是-FLAGS
,它将消息标记为已读。像这样的事情就行了。
这里还有一个重复的问题-Find new messages added to an imap mailbox since I last checked with python imaplib2?
两个有用的函数用于检索检测到的新邮件的正文和附件(引用:How to fetch an email body using imaplib in python?)
需要更改为:
相关问题 更多 >
编程相关推荐