2
|
cethegeek · 技术社区 · 16 年前 |
![]() |
1
5
我没有可用的Outlook安装来测试这个,所以我想知道函数中第五行的原因。
我不太了解多部分电子邮件的内部结构,但是在我的系统中,这一行导致消息的两个部分都具有文本/html的内容类型。去掉它会产生一条消息,第一部分是“content-type:text/plain”,第二部分是“content-type:text/html”。 在任何情况下,关于Java问题的答案之一提到将字符集更改为ISO-859-1。我想你应该可以用django.core.mail来完成。 emailMessage类(emailMultiAlternatives从中继承)有一个名为“encoding”的属性,该属性设置要使用的字符集。默认情况下,它是无的,所以使用默认的utf-8字符集(除非在设置中被重写)。 换句话说,在问题中列出的函数的发送行之前添加如下内容:
不幸的是,这只会更改第一部分指定的编码(上面函数中的msg_文本)。附加可选内容的函数似乎不使用编码属性。我不确定这是正确的方法,但我将emailmultialtiables子类化,以覆盖相关的功能,它似乎可以正常工作。
我不确定“smart”str(content,settings.default_charset)部分是否也应该引用“encoding”而不是“settings.default_charset”,但这是消息正文处理文本(django.core.mail.emailmessage.message)。 正如我所说,我没有outlook,所以我不能实际测试outlook方面,但它似乎将两部分的字符集都更改为i so-8859-1。 |
![]() |
code-geek · Jquery根据单选按钮选择隐藏或显示文本字段 7 月前 |
|
Jamie · 在CSS链接的文件名中添加Jinja占位符 7 月前 |
![]() |
ptownbro · 重叠分区标签,同时保持以下所有分区和内容就位 7 月前 |
![]() |
john Rizzo · 按钮背景颜色、悬停和活动状态存在问题 7 月前 |