2015-02-16 1 views
0

Привет, мне было интересно, может ли кто-нибудь помочь мне в извлечении заголовков моих писем в gmail. У меня есть этот код:с использованием imaplib для извлечения только заголовков писем?

import imaplib 

M = imaplib.IMAP4('imap.gmail.com') 
M.login('myusername', 'mypassword') 
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][1]) 
M.close() 
M.logout() 

Однако, я хочу только вытащить заголовки каждого письма, а не тела? Может ли кто-нибудь разобраться с нами, потому что я понятия не имею?

ответ

1

В вашем примере вы могли бы сделать это:

typ, data = M.fetch(num, '(BODY.PEEK[HEADER])') 

Вот spec.

-1
typ, data = M.fetch(679, '(RFC822)') 

вызывает ошибку на Python3

Traceback (most recent call last): 
    File "./imapMailClient.py", line 35, in <module> 
    typ, data = conn.fetch(679, '(RFC822)') 
    File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/imaplib.py", line 526, in fetch 
    typ, dat = self._simple_command(name, message_set, message_parts) 
    File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/imaplib.py", line 1188, in _simple_command 
    return self._command_complete(name, self._command(name, *args)) 
    File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/imaplib.py", line 953, in _command 
    data = data + b' ' + arg 
TypeError: can't concat bytes to int 

 Смежные вопросы

  • Нет связанных вопросов^_^