我开发了一个 Django 应用程序来向不同大学的研究人员发送电子邮件并帮助他们进行研究。我使用Litmus测试了电子邮件,所有电子邮件都通过了所有测试并完全显示在不同的平台上。我也想让那些使用旧浏览器的人能够看到电子邮件的内容。这就是我过去EmailMultiAlternatives
发送文本内容和替代 html 内容的原因。然而,在我正在测试电子邮件的一所大学中,每个人都收到了不完整的电子邮件。同样在另一所大学,他们收到了带有断线的电子邮件。万一他们看到损坏的超链接,这是非常有问题的。
该问题与此 Stackoverflow 页面中解释的电子邮件行中的 78 个字符限制有关。
但是,在 DjangoEmailMultiAlternatives
文档中,没有关于如何在EmailMultiAlternatives
. 我花了一段时间才弄清楚,我发送这篇文章是为了帮助其他人节省时间。
正如您在 django 的源代码中看到的那样,EmailMultiAlternatives
继承自 EmailMessage,因此它们在 init 构造函数中采用相同的参数。这样,我们可以添加如下标题:
msg = EmailMultiAlternatives(subject, message, from_email, to_list, headers={'Reply-To': "email@example.com", 'format': 'flowed'})