如何将电子邮件解析为有意义的内容(尤其是文本/ html部分)? - python / pop3

时间:2012-10-26 02:42:27

标签: python email html-email 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这是一个Hotmail欢迎邮件,一切正常,特别是text/html部分,它的格式正确。但是对于mail_2这是multipart/alternative消息,我从text/html得到的是一团糟,有很多填充程序,如=0D3D以及{{1在整个地方,一些典型的线条看起来像这样:

=

那么我该怎么做才能获得有意义的<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 邮件正文?

1 个答案:

答案 0 :(得分:2)

您需要quopri模块:

import quopri

decoded_text = quopri.decodestring(encoded_text)