Как читать специфику c email в python - PullRequest
0 голосов
/ 13 января 2020

У меня есть следующий код:

import imaplib
import email





imap = imaplib.IMAP4_SSL('imap.naver.com')
id = 'abc@naver.com'
pw = '123'
imap.login(id, pw)


imap.select('inbox')
status, data = imap.uid('search', None, '(HEADER FROM "abd@gmail.com")')

if status == 'OK':
    if data[0]:
        mid = data[0].split()[0]
        print('mail id', mid)
        print(imap.fetch(mid, '(UID BODY[HEADER.FIELDS (HEADER FROM)])'))

Поднято FETCH command error: BAD [b'Error in IMAP command FETCH: Invalid messageset']

print (status, data)

Возвращено

OK [b'3769 3838 3845 3896 3907 3916 3961 3978 3989 3991 3993 4002 4017 4059 4069 4607 4608 4612 4613']

что не так в моем коде?

Как я могу прочитать конкретную c электронную почту?

1 Ответ

1 голос
/ 22 марта 2020

Я думаю, что это просто вопрос кодирования. Попробуйте преобразовать его из байтов в строку:

mid = mid.decode('ASCII')

Для полного набора данных попробуйте:

msgnums = data[0].decode('ASCII').replace(' ',',')

Надеюсь, это поможет! :)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...