gpt4 book ai didi

python - 如何以普通文本形式接收 html 电子邮件?

转载 作者:太空宇宙 更新时间:2023-11-03 12:25:40 26 4
gpt4 key购买 nike

这是我到目前为止的代码:

import email, imaplib

user = 'some username'
pwd = 'some password'

m = imaplib.IMAP4_SSL("imap.gmail.com")
m.login(user, pwd)

m.select("[Gmail]/All Mail")

resp, data = m.fetch(1, "(RFC822)")

email_body = data[0][1]

mail = email.message_from_string(email_body)

print mail

我目前收到的电子邮件格式很奇怪。我想以纯文本字符串的形式接收电子邮件正文。

最佳答案

(我刚刚用我的 Gmail 帐户尝试过。)问题不在于 HTML 邮件,而是您的邮件是 MIME 多部分邮件,而您正在打印其中的完整字符串。这是因为电子邮件基本上是一种纯文本格式(如上所述);当人们想在电子邮件中发送丰富的内容时,他们想到了 MIME,这是一种无需修改电子邮件标准即可实现的方法。当您打印邮件时,您正在打印完整的 MIME 消息,经过编码以便可以将其作为电子邮件发送。您想要提取有效负载。

但是——您已经完成了所有艰苦的工作!只需获取已解析的 email.message.Message 实例的有效负载:

mail.get_payload()[ 0 ].get_payload()

(注意:我必须为 Gmail 收件箱中的第一条消息执行两次此操作,因为它被编码为 MIMEMultipart,但只有一个叶子。YMMV。)

关于python - 如何以普通文本形式接收 html 电子邮件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3449220/

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