在Django EmailMultiAlternatives documentation中,如何在EmailMultiAlternatives
中添加“格式”或“回复”等标题。我花了一段时间才弄清楚,我发这篇文章是为了帮助别人节省时间。
正如您在django的源代码中所看到的,EmailMultiAlternatives
继承自EmailMessage
,因此它们在init构造函数中采用相同的参数。这样,我们可以添加如下标题:
msg = EmailMultiAlternatives(
subject, message, from_email, to_list,
headers={'Reply-To': "email@example.com", 'format': 'flowed'}
)
答案 0 :(得分:1)
早在2015年,OP抱怨说,文档中没有说明,如何在Django mail(django.core.mail)模块中添加诸如“Format”和“Reply-To”之类的标题。但是今天,在使用same documentation link时。我们可以在2018年轻松找到描述和示例:
class
EmailMessage
[source]使用以下参数初始化 EmailMessage 类 (按给定顺序,如果使用位置参数)。所有参数 是可选的,可以在调用
send()
之前随时设置 方法
- 主题:电子邮件的主题行。
- 正文:正文。这应该是纯文本消息。
- from_email :发件人的地址。
fred@example.com
和Fred <fred@example.com>
表单都是合法的。如果省略,则DEFAULT_FROM_EMAIL
使用设置。- to :收件人地址的列表或元组。
- bcc :发送电子邮件时“Bcc”标头中使用的地址列表或元组。
- 连接:电子邮件后端实例。如果要对多个消息使用相同的连接,请使用此参数。如果省略,a 调用
send()
时会创建新连接。- 附件:要放在邮件上的附件列表。这些可以是
email.MIMEBase.MIMEBase
个实例,也可以是(filename, content, mimetype)
三元组。- 标题:要放在邮件上的额外标题字典。键是标题名称,值是标题值。这取决于 调用者以确保标题名称和值的格式正确 一封电子邮件。相应的属性为
extra_headers
。- cc :发送电子邮件时“抄送”标题中使用的收件人地址列表或元组。
例如:
email = EmailMessage('Hello', 'Body goes here', 'from@example.com', ['to1@example.com', 'to2@example.com'], ['bcc@example.com'], headers = {'Reply-To': 'another@example.com', 'format': 'flowed'})
正如我们从示例中看到的那样,EmailMessage
也有headers
参数(词典),根据source code中的docstring,EmailMultiAlternatives
是:< / p>
A version of EmailMessage that makes it easy to send multipart/alternative
messages. For example, including text and HTML versions of the text is
made easier.
因此,如果您不需要特定内容,EmailMessage
就可以了,因为目前EmailMultiAlternatives
可以轻松包含文字和HTML版本的文字。