2012-10-26 1 views
3

확인. 여기에 내 코드입니다 :이메일을 의미있는 콘텐츠 (특히 텍스트/HTML 부분)로 구문 분석하려면 어떻게해야합니까? - python/pop3

hotmail = poplib.POP3_SSL("pop3.live.com", 995) 

hotmail.user("username") 

hotmail.pass_("password") 

mail_1= hotmail.retr(1) 

message_1 = email.message_from_string("\n".join(mail_1[1])) 

for part in message.walk(): 
    print part.get_content_type() 

    print "\n" 

    print part.get_payload() 

    print "----------------------------------------------" 


mail_2 = hotmail.retr(2) 

message_2 = email.message_from_string("\n".join(mail_2[1])) 

for part in message.walk(): 
    print part.get_content_type() 

    print "\n" 

    print part.get_payload() 

    print "----------------------------------------------" 

문제 제가 핫메일 환영 메일이 mail_1를 들면, 지금 데이 모든 것이 모든 권리, 특히 text/html 부분을 작동, 그것은 올바른 형식입니다. 그러나 mail_2을 위해 이는 multipart/alternative 메시지, 내가 text/html에서 가져온 것이 엉망이 모든 여기 저기 =0D3D= 같은 필러 많이있다,있다, 전형적인 라인은 다음과 같이 :

<td id=3D"middle_column= 
_content_cell" style=3D"background-color:#ffffff;=0D 
                -webkit-border-radius:6= 
px; -moz-border-radius:6px; border-radius:6px;=0D 
                -webkit-box-shadow:0 1p= 
x 3px rgba(0,0,0, 0.2);=0D 
                -moz-box-shadow:0 1px 3= 
px rgba(0,0,0, 0.2);=0D 
                box-shadow:0 1px 3px rg= 
ba(0,0,0, 0.2);">=0D 
=0D 
                 <span style=3D"font= 
-family:'Helvetica Neue', Helvetica, Arial, sans-serif;=0D 
                 font-size:16px; lin= 
e-height:22px; color:#424242;">=0D 

그래서 무엇을 의미있는 메시지 본문 text/html을 얻으려고합니까?

import quopri 

decoded_text = quopri.decodestring(encoded_text) 
+0

텍스트 전용 부분이 있습니다 : – jozzas

답변

2

당신은 quopri 모듈을 줄까? 대부분의 HTML 전자 메일에는 사용자가 직접 읽을 수있는 별도의 일반 텍스트 부분도 있습니다. 문서에서`get_payload`를 보았습니까?
+0

와우, 고맙습니다. 정확히 내가 원하는 걸 !! – Shane