Python Django utf-8电子邮件带有损坏的符号

Python Django utf-8电子邮件带有损坏的符号,python,django,email,utf-8,postfix-mta,Python,Django,Email,Utf 8,Postfix Mta,我在从我的服务器发送带有俄语文本的电子邮件时遇到问题。 我正在发送这样的电子邮件: 从django.core.mail导入电子邮件 message=emailmultialternations( “某个主题”, '', 'from@example.com', ['to@example.com'] ) message.attach_可选(unicode_text_与_html,“text/html”) message.send() 当这封邮件进入邮件服务(即gmail.com)时,有时会出现一些

我在从我的服务器发送带有俄语文本的电子邮件时遇到问题。 我正在发送这样的电子邮件:

从django.core.mail导入电子邮件
message=emailmultialternations(
“某个主题”,
'',
'from@example.com',
['to@example.com']
)
message.attach_可选(unicode_text_与_html,“text/html”)
message.send()
当这封邮件进入邮件服务(即gmail.com)时,有时会出现一些损坏的符号-Ð� 而不是信。其他字母(即使是相同的字母)也不会损坏。当我指定cp1251编码(即
message.encoding='cp1251'
)时,电子邮件不会被损坏。但也有一些电子邮件服务不接受cp1251编码,当用户试图阅读邮件时会给用户带来错误

当我使用utf-8编码的基于文件的电子邮件后端时,我也不会在邮件正文中得到损坏的符号。字符集设置为utf-8

我想知道utf-8编码的消息怎么会被这样破坏。我能做些什么来摆脱那些符号吗

附言:我使用Postfix作为电子邮件服务器发送电子邮件


更新:在我的测试服务器上,情况完全相同。我已经删除了后缀,并用Qmail替换它。一切都很顺利。我把它换回来,符号又回来了。所以我最新的猜测是这是后缀问题。我将尝试调整配置。

您需要通过类似php的方式运行配置,以将所有无法识别的字符转换为html安全实体。在您的情况下,Ð转换为:
Ð


另外,还有一些基于web的转换器,其中列出了一些。

您需要通过类似php的方式运行它,以将所有无法识别的字符转换为html安全实体。在您的情况下,Ð转换为:
Ð


P.>另外,有几种基于Web的转换器,列出了一些。

< P>我会考虑添加这行:

#-*- coding: utf-8 -*-
from __future__ import unicode_literals
它帮助我摆脱了以下错误:

'ascii' codec can't encode character u'\u0119' in position 6: ordinal not in range(128)

我会考虑添加以下几行:

#-*- coding: utf-8 -*-
from __future__ import unicode_literals
它帮助我摆脱了以下错误:

'ascii' codec can't encode character u'\u0119' in position 6: ordinal not in range(128)

您是否尝试过使用
(unicode\u text\u with\u html)
我想知道这有什么帮助。你试过使用
(unicode\u text\u with\u html)
我想知道这有什么帮助。只是尝试了一下,但什么也没做。交易是,每个符号都能被识别出来,并且是可以的。当我通过gmail后端发送完全相同的电子邮件时,一切都很好。我怀疑问题出在后缀设置中的某个地方。问题是每个符号都被识别出来了,并且没有问题。当我通过gmail后端发送完全相同的电子邮件时,一切都很好。我怀疑问题出在后缀设置的某个地方