django的 EmailMessage 对象发送邮件

Django的 send_mail() 和 send_mass_mail() 是对 EmailMessage 类使用方式 的一个轻度封装。send_mail() 和相关的其他封装函式并没有充分使用 EmailMessage 类的所有特性。

要想使用更多特性,比如暗送(BCC),加入附件,或是多用途格式(multi-part)邮件,都要直接创建 EmailMessage 实例。

EmailMultiAlternatives 类继承了EmailMessage 类

EmailMessage

EmailMessage 类使用下列参数初始化(除非使用位置参数,否则默认顺序如下)。所有参数均可选,均可在调用 send()方法之前的任何时间对其赋值。

  • subject: 邮件的标题行

  • body: 邮件的主体内容文本,须是纯文本信息。

  • from_email: 发送者的地址。 [email protected]或 Fred [email protected] 格式都是合法的。如果忽略该参数,Django就会使用 DEFAULT_FROM_EMAIL 配置项。

  • to: 收件人地址列表或元组。

  • bcc: 发送邮件时用于”Bcc”头信息的一组列表或元组,也就是暗送的收件人

  • connection: 一个邮件后端实例。用同一个链接发送多封邮件就要用到该参数。忽略该参数时,会在调用 send() 时自动创建一个新链接。

  • attachments: 置于邮件报文内的附件列表。列表元素可以是 email.MIMEBase.MIMEBase 实例,也可以是(filename, content, mimetype) 三部分构成的元组。

  • headers: 置于邮件报文内的其他头信息(header)的字典。字典的key是头信息的名称,字典的value是头信息的值。 这样做能确保头信息的名称和对应值会以正确的格式保存于邮件报文中。

  • cc: 发送邮件时放于”Cc”头信息的一系列列表或元组。

  • reply_to:发送电子邮件时“回复”标题中使用的收件人地址列表或元组。

subject = "title"
email_body = "xxxx:
xxxx
xxx" email = EmailMessage(subject, email_body, EMAIL_FROM, EMAIL_TO_LIST/TUPLE, bcc=EMAIL_BCC) email.content_subtype = 'html' email.send()

email.content_subtype值可选text/html

你可能感兴趣的:(django的 EmailMessage 对象发送邮件)