2013-09-25 2 views
1

Я использую imaplib (python) для входа в почтовый ящик gmail и поиска соответствующих сообщений. Но когда я печатаю это сообщение, ссылки внутри тела сообщения, кажется, сломаны. С «3D» добавляется случайным образом.не удается разобрать форму url gmail с помощью imaplib

+0

использование библиотеки urlparse. –

+0

Возможно, вы неправильно декодируете тело сообщения. –

ответ

2

'3D' - это шестнадцатеричное кодирование '='. Таким образом, проблема заключается в том, что вы неправильно декодируете электронную почту, что может быть выполнено с использованием модуля email python и message.get_payload(decode=True).

Вот короткий отрывок:

import imaplib, email 
imap_server = "imap.aol.com" #maybe this would be imap.gmail.com for gmail? 
conn = imaplib.IMAP4_SSL(imap_server, 993) 
conn.login(username, password) 
conn.select() 
resp, data = conn.uid('FETCH', '1:*' , '(RFC822)') 
raw = data[0][1].strip() 
message = email.message_from_string(raw) 

decoded = message.get_payload(decode=True) #this will be the decoded body of the email message 
Смежные вопросы