gpt4 book ai didi

Python:电子邮件 get_payload 解码在点击等号时失败?

转载 作者:太空狗 更新时间:2023-10-29 21:48:02 25 4
gpt4 key购买 nike

遇到 get_payload 的奇怪问题:当它在正在解码的消息中看到等号时,它似乎很糟糕。这是显示错误的代码:

import email

data = file('testmessage.txt').read()
msg = email.message_from_string( data )
payload = msg.get_payload(decode=True)
print payload

这是一条示例消息:test message .

消息只打印到第一个“=”。其余省略。有人知道发生了什么事吗?

具有“decode=False”的相同脚本返回完整的消息,因此看起来解码对等号不满意。

这是在 Python 2.5 下。

最佳答案

您遇到了行尾问题。测试消息的正文使用没有换行符 (\n) 的纯回车符 (\r)。如果您在解析电子邮件之前修复了行尾,一切都有效:

import email, re
data = file('testmessage.txt').read()
data = re.sub(r'\r(?!\n)', '\r\n', data) # Bare \r becomes \r\n
msg = email.message_from_string( data )
payload = msg.get_payload(decode=True)
print payload

关于Python:电子邮件 get_payload 解码在点击等号时失败?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/787739/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com