我可以毫无问题地发送电子邮件并设置大多数标题。
但这已经给了我很长一段时间以来的奇怪结果。
这是我目前所在的位置:
email = EmailMessage(
'My foobar subject!!',
render_to_string(
'emails/new_foobar_email.txt',
{
'foo': foo.something,
'bar': bar.something,
}
),
'notify@foobar.com',
[the_user.email, ],
headers={'From ': 'Darth Vader <darth@vader.com>'},
)
email.send(
fail_silently=False
)
当电子邮件到达时,它说它来自“notify@foobar.com”而不是“Darth Vader”。
我试过这样设置标题:
# this way worked but was inconsistent. Some email clients showed it was from "unknown sender".
headers={'From ': 'Darth Vader'},
我已经仔细研究了这份关于Internet 消息格式 (RFC 2822)的文档,但我不清楚我是否遵循了最佳实践。
我也看到了这个SO Question,但它适用于 send_mail() 函数。它可能是相似的,但它是不同的。
我不关心我的电子邮件客户端是否正确显示(它可能会受到污染,因为我一直在尝试很多不同的方式,并且可能缓存了我做错的方式之一......)但我关心的是遵循最佳实践因此它适用于大多数电子邮件客户端。
问题
使用 EmailMessage 类在电子邮件中设置“发件人”标头的正确方法是什么?而且,与电子邮件客户端最兼容的方式是什么?