0

我正在使用 poplib 从邮件服务器获取电子邮件。方法 retr(n) 检索第 n 封电子邮件。它以一种有趣的形式返回消息,其中所有内容都被分成几行并放在一个元组中。是什么赋予了!:它将字符“3D”随机插入到电子邮件中。此外,它将标记的元素分成几块,并在中断处插入“=”。正如其他人看到的那样?

4

1 回答 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 回答