2013-09-25 6 views
1

imaplib (python)을 사용하여 Gmail받은 편지함에 로그인하고 적절한 메일을 검색하고 있습니다. 하지만 그 메시지를 인쇄 할 때 메시지 본문 내부의 링크가 손상된 것 같습니다. 무작위로 '3D'가 추가되었습니다.imaplib을 사용하여 url 형식의 Gmail을 구문 분석 할 수 없습니다.

+0

사용 urlparse 라이브러리 :

여기에 짧은 조각입니다. –

+0

메시지 본문을 제대로 디코딩하지 않았을 수 있습니다. –

답변

2

'3D'는 '='의 16 진수 인코딩입니다. 그래서 문제는 당신이 제대로 파이썬의 email 모듈과 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