【问题标题】:Trouble with imaplib fetch formats: RFC822 unequel utf8?imaplib 获取格式的问题:RFC822 unequel utf8?
【发布时间】:2011-11-25 22:21:38
【问题描述】:

我想阅读一封 utf8 格式的电子邮件。这不适用于以下代码:我想我必须采用不同的格式,但是哪种格式以及如何使用?输出给出了某事。比如“Österreich”的“=C3=96sterreich”。到目前为止我有这个......谢谢

import imaplib
import email

imap4 = imaplib.IMAP4(SERVER)
imap4.login(USER, PASSWORD)
imap4.select()
typ, data = imap4.search(None,'(UNSEEN SUBJECT "%s")' % subject)
for num in data[0].split():
    typ, data = imap4.fetch(num,'(RFC822)')
    msg = email.message_from_string(data[0][1])
    typ, data = imap4.store(num,'-FLAGS','\\Seen')
    print msg    

【问题讨论】:

    标签: python formatting imaplib rfc822


    【解决方案1】:

    MIME 容器中的数据通常使用“quoted-printable”编解码器进行编码。我不知道imaplib 的内部结构,但我相信您正在寻找的是quopri.decodestring()

    【讨论】:

    • 谢谢。你的提示很好。我可以用 import quopri b = '=C3=96sterreich' s = b.decode('quopri').decode('utf-8') print s 来解码它
    猜你喜欢
    • 1970-01-01
    • 2012-10-23
    • 2011-09-05
    • 2012-11-29
    • 1970-01-01
    • 1970-01-01
    • 2015-04-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多