使用Imap邮件编码的奇怪之处

2024-10-03 04:34:39 发布

您现在位置:Python中文网/ 问答频道 /正文

我用imap从一个运行良好的服务器上检索邮件。我在RFC 822中取邮件如下:

r, data = mailserver.fetch(mailnr, '(RFC822)')

这给了我大部分可破译的邮件,但现在我有一个多部分邮件,如下所示:

From : xxx xxx

To : xxx xxx

Subject : =?utf-8?Q?online_verf=C3=BCgbar_-_TESTQUELLE_f=C3=BCr_Regel?= =?utf-8?Q?-_u_Benachrichtigungdienst_()?=

Content-Type : multipart/alternative; boundary="----=_NextPart_457512452482695058637"

Content-Transfer-Encoding : None

MIME-Version : 1.0

Payload:

=20 =20 sourcename:TESTQUELLE f=C3=BCr Regel- u Benachrichtigungdienst;csi:123456= ;publishdate:05=2E11=2E2013

邮件似乎是utf-8,但不知何故,文本也是url编码的或类似的。在

似乎只使用了url编码而不是“%”。在

有什么办法让它看起来像普通的文本?在


Tags: 文本服务器url编码rfc邮件contentutf
2条回答

数据似乎是unicode文本,它被编码为UTF-8,然后编码为可引用的可打印文件。有一个模块“quopri”对这个-http://docs.python.org/3.3/library/quopri.html进行编码/解码。在

如果使用quopri.decodestring将其解码为UTF-8,然后将其解码为unicode,yuo应该能够读取它。在

最后发现了这个:

mail.get_payload(decode=1).decode('utf-8')

我只使用了get_payload(),它给了我这个字符串。在

相关问题 更多 >