我正在使用 poplib 从邮件服务器获取电子邮件。方法 retr(n) 检索第 n 封电子邮件。它以一种有趣的形式返回消息,其中所有内容都被分成几行并放在一个元组中。是什么赋予了!:它将字符“3D”随机插入到电子邮件中。此外,它将标记的元素分成几块,并在中断处插入“=”。正如其他人看到的那样?
问问题
160 次
1 回答
0
归功于 Andrew Medico,您看到的字符串位于“引用的可打印编码”(http://en.wikipedia.org/wiki/Quoted-printable)中。就我而言,当我收到电子邮件时,这些电子邮件已经采用了这种格式。
我能够使用 quopri 模块(https://docs.python.org/2/library/quopri.html)将其转换回“正常”字符串。
import poplib
import quopri
pop_conn = poplib.POP3_SSL( "the_host" )
pop_conn.user("my_user")
pop_conn.pass_("my_password")
email_i_want = 1
encoded_msg = pop_conn.retr( email_i_want )[1]
joined_msg = str( '\n'.join(encoded_msg) )
decoded_msg = quopri.decodestring( joined_msg )
print decoded_msg
于 2015-02-11T01:21:07.590 回答