首页 / 邮件 / python电子邮件编码和解码问题
python电子邮件编码和解码问题
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python电子邮件编码和解码问题,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1594字,纯文字阅读大概需要3分钟。
内容图文
![python电子邮件编码和解码问题](/upload/InfoBanner/zyjiaocheng/771/752611c3d7b0447b9f8b3890ae30b0b6.jpg)
基本上我想从收件箱中读取所有新电子邮件并将它们放在数据库中.我使用python的原因是因为它有imaplib,但我对它一无所知.
目前,我有这样的事情:
def primitive_get_text_blocks(email_message_instance):
maintype = email_message_instance.get_content_maintype()
if maintype == 'multipart':
return_parts = ""
for part in email_message_instance.get_payload():
if part.get_content_maintype() == 'text':
return_parts+= " "+ part.get_payload()
return return_parts
elif maintype == 'text':
return email_message_instance.get_payload()
return ""
fromField=con.escape(email_message["From"])
contentField=con.escape(primitive_get_text_blocks(email_message))
原始的get_text_blocks是从某个地方复制粘贴的.
结果是我获得了这样的数据库条目:
<META http-equiv=3D"Content-Type" content=3D"text/html; charset=3DUTF-8">
据我所知,这与在utf-7中编码有关.所以我改为get_payload(decode = True),但这给了我字节数组.如果我附加另一个解码(‘utf-8’),它有时会因为错误而崩溃
‘codec error can’t decode to …’.
我不知道编码是如何工作的,我只想要一个带有我的电子邮件正文的unicode字符串.
为什么没有简单的转换(字符集来自charset)?如何获得可读的电子邮件正文(和地址?).我发现IMAP Fetch Encoding并使用decode_header我没有进一步.
–
我假设编码是字节表示字符的方式,所以考虑到这一点,不应该解码一个字节数组并吐出一个字符串?在堆栈溢出时,我遇到了一些人,因为它与使用utf-8和utf-7编码的beeing有关.那有什么意思?
我做谷歌,似乎有很多重复,但他们得到的答案并没有真正帮助我(我已经尝试了大部分)
解决方法:
事实证明这很容易.即使所有文档都指向了unicode函数仍然是真实的辉煌过去,’str’也是如此.
所以回顾一下,你必须通过’getPayload’传递’decode = True’并将其包裹在str(…,’utf-8′)周围.
内容总结
以上是互联网集市为您收集整理的python电子邮件编码和解码问题全部内容,希望文章能够帮你解决python电子邮件编码和解码问题所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。