Django的 send_mail() 和 send_mass_mail() 是對(duì) EmailMessage 類使用方式 的一個(gè)輕度封裝。send_mail() 和相關(guān)的其他封裝函式并沒(méi)有充分使用 EmailMessage 類的所有特性侠鳄。
要想使用更多特性氧映,比如暗送(BCC)主穗,加入附件,或是多用途格式(multi-part)郵件冈欢,都要直接創(chuàng)建 EmailMessage 實(shí)例活玲。
EmailMultiAlternatives 類繼承了EmailMessage 類
EmailMessage
EmailMessage 類使用下列參數(shù)初始化(除非使用位置參數(shù)瞒津,否則默認(rèn)順序如下)。所有參數(shù)均可選来氧,均可在調(diào)用 send()方法之前的任何時(shí)間對(duì)其賦值诫给。
subject: 郵件的標(biāo)題行
body: 郵件的主體內(nèi)容文本香拉,須是純文本信息。
from_email: 發(fā)送者的地址中狂。 fred@example.com或 Fred fred@example.com 格式都是合法的凫碌。如果忽略該參數(shù),Django就會(huì)使用 DEFAULT_FROM_EMAIL 配置項(xiàng)吃型。
to: 收件人地址列表或元組证鸥。
bcc: 發(fā)送郵件時(shí)用于”Bcc”頭信息的一組列表或元組,也就是暗送的收件人
connection: 一個(gè)郵件后端實(shí)例勤晚。用同一個(gè)鏈接發(fā)送多封郵件就要用到該參數(shù)枉层。忽略該參數(shù)時(shí),會(huì)在調(diào)用 send() 時(shí)自動(dòng)創(chuàng)建一個(gè)新鏈接赐写。
attachments: 置于郵件報(bào)文內(nèi)的附件列表鸟蜡。列表元素可以是 email.MIMEBase.MIMEBase 實(shí)例,也可以是(filename, content, mimetype) 三部分構(gòu)成的元組挺邀。
headers: 置于郵件報(bào)文內(nèi)的其他頭信息(header)的字典揉忘。字典的key是頭信息的名稱,字典的value是頭信息的值端铛。 這樣做能確保頭信息的名稱和對(duì)應(yīng)值會(huì)以正確的格式保存于郵件報(bào)文中泣矛。
cc: 發(fā)送郵件時(shí)放于”Cc”頭信息的一系列列表或元組。
reply_to:發(fā)送電子郵件時(shí)“回復(fù)”標(biāo)題中使用的收件人地址列表或元組禾蚕。
subject = "title"
email_body = "xxxx:<br>xxxx<br>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