我开发了一个Django应用程序,可以向不同大学的研究人员发送电子邮件并帮助他们进行研究。我使用Litmus测试了电子邮件,所有电子邮件都通过了所有测试,并完全在不同平台上显示。我也想让那些拥有旧浏览器的人能够看到电子邮件的内容。这就是为什么我使用EmailMultiAlternatives
发送文本内容和替代html内容。但是,在我测试电子邮件的其中一所大学中,每个人都收到了不完整的电子邮件。另外在另一所大学,他们收到了带有虚线的电子邮件。这是非常有问题的情况下,他们看到破碎的超链接。Django发送的电子邮件中的部分线和断行
该问题与在this Stackoverflow page中解释的电子邮件行中的78个字符限制有关。
然而,在Django EmailMultiAlternatives
文件,没有什么有关如何添加标题,如“格式化”或“回复”在EmailMultiAlternatives
。我花了一段时间才弄明白,我正在发这篇文章来帮助其他人节省时间。
正如您在django的源代码中看到的,EmailMultiAlternatives
继承自EmailMessage,因此它们在init构造函数中使用相同的参数。通过这种方式,我们可以添加标题,如:
msg = EmailMultiAlternatives(subject, message, from_email, to_list, headers={'Reply-To': "[email protected]", 'format': 'flowed'})
考虑取消该链接。即使StackOverflow链接也可以随时间而打破。谢谢 – MickyD 2015-03-31 04:02:28
清理格式化 – 2015-03-31 04:06:29
您可以将您的文章转换为问题,自己回答并接受您的回答。这样,很明显,问题已经解决,而不是永远悬而未决的问题。 – 2015-03-31 04:14:15