You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Windows下用Python2.7读取Gmail邮件正文遇text/plain返回None问题

排查方向与提示
  • 检查邮件的MIME结构:部分邮件可能未包含单独的text/plain内容块,仅提供text/html版本。你可以用message.walk()遍历邮件所有MIME部分,打印每个部分的get_content_type()结果,确认是否存在text/plain类型的内容。
  • 匹配MIME类型时忽略额外参数:有些邮件的text/plain类型会附带参数(如text/plain; charset=utf-8),直接用'text/plain'精确匹配会失败。可以通过判断part.get_content_type().split(';')[0] == 'text/plain'来忽略参数,准确识别目标类型。
  • 遍历所有嵌套的MIME层级:如果邮件是multipart/alternative这类嵌套结构,仅检查顶层部分会遗漏深层的text/plain内容。必须用message.walk()递归遍历所有层级的MIME部分,逐个排查。
  • 尝试直接提取纯文本载荷:Python 2.7的email模块中,若邮件为multipart/alternative类型,可尝试直接获取对应部分的解码后载荷:part.get_payload(decode=True),部分情况下模块会自动处理格式转换。也可以尝试调用message.get_content()(若模块版本支持)获取系统生成的纯文本内容。
  • 确认字符编码处理:即使找到text/plain部分,错误的编码处理也可能导致内容异常。通过part.get_content_charset()获取字符集,解码时指定对应编码,避免因编码问题导致内容显示为空或乱码。

内容的提问来源于stack exchange,提问作者gvphubli.blogspot.com

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 18:30:01