gpt4 book ai didi

Python,发送主题中带有特殊字符的电子邮件

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

我正在从 Python (Django) 发送电子邮件。电子邮件主机是“smtp.gmail.com”。当我使用 localhost 时,我可以在电子邮件主题中使用特殊字符。但是,现在我正在从服务器(webfaction)尝试,我收到错误“UnicodeDecodeError:'ascii'编解码器无法解码字节......”在电子邮件模板中我使用十六进制代码,但它们不适用于主题(它们没有翻译)。怎么办?

# coding=UTF-8
...

subject = "æøå"
c = {}
t_html = loader.get_template(template_html)
t_text = loader.get_template(template_txt)
e = EmailMultiAlternatives(subject, t_text.render(Context(c)), from_email, [to_email])
e.attach_alternative(t_html.render(Context(c)), "text/html")
e.send()

最佳答案

如果您使用的是 Python 2,我建议您在字符串前加上 u:

subject = u"æøå"

(我知道编码“魔法注释”应该会自动处理,但根据经验我可以说它并不总是有效)

更新:为了将来引用,确保生产环境支持与开发环境相同的编码也很重要。使用 UTF-8 应该没问题(到处都支持),但是如果您要在 Windows (Cp1252) 下编辑源文件,然后部署到 UNIX 服务器中,无论是否存在 coding,Python 解释器都可能无法读取它们。

关于Python,发送主题中带有特殊字符的电子邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14051452/

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