国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Django發(fā)送html郵件的方法

2020-02-23 01:24:48
字體:
供稿:網(wǎng)友

本文實(shí)例講述了Django發(fā)送html郵件的方法。分享給大家供大家參考。具體如下:

在Django中,發(fā)送郵件非常的方便,一直沒有時(shí)間,今天來做一個(gè)小小的總結(jié)吧。

我們常用的當(dāng)然是通過send_mail發(fā)送郵件:
代碼如下:send_mail(subject,message,from_email,recipient_list,fail_silently=False,auth_user=None,auth_password=None,connection=None)

subject,message,from_email 和recipient_list 這四個(gè)參數(shù)是必須的。

subject: 字符串,表示郵件標(biāo)題。
message: 字符串,表示郵件內(nèi)容。
from_email: 字符串,表示發(fā)件郵箱。
recipient_list: 字符串列表,列表中每個(gè)成員都是一個(gè)郵箱地址,而且每個(gè)收件人都會(huì)在 “收件人/To:” 欄看到出現(xiàn)在recipient_list 中的其他收件人。
fail_silently: (可選)布爾值。為False 時(shí),send_mail 會(huì)拋出smtplib.SMTPException 異常。smtplib 文檔列出了所有可能的異常。這些異常都是SMTPException  的子類。
auth_user: (可選)SMTP服務(wù)器的認(rèn)證用戶名。沒提供該參數(shù)的情況下,Django會(huì)使用EMAIL_HOST_USER 配置項(xiàng)的設(shè)置。
auth_password: (可選)SMTP服務(wù)器的認(rèn)證密碼,沒提供該參數(shù)的情況下,Django會(huì)使用EMAIL_HOST_PASSWORD  配置項(xiàng)的設(shè)置。
connection: (可選)發(fā)送郵件的后端。沒提供該參數(shù)的情況下,Django會(huì)使用默認(rèn)后端的實(shí)例。

以下是一個(gè)簡單的事例:

from django.core.mail import send_mail from django.template import Context, loader context = {   'nickname': user.nickname,   'verify_url': verify_url, } email_template_name = 'template.html' t = loader.get_template(email_template_name) mail_list = [user.email, ] send_mail(   subject=title,   message=t.render(Context(context)),   from_email=EMAIL_HOST_USER,# 發(fā)件郵箱   recipient_list=mail_list,   fail_silently=False,   auth_user=EMAIL_HOST_USER, # SMTP服務(wù)器的認(rèn)證用戶名   auth_password=EMAIL_HOST_PASSWORD, # SMTP服務(wù)器的認(rèn)證用戶密碼   connection=None )

用過的人可能會(huì)發(fā)現(xiàn),你在template.html中的標(biāo)簽,并沒有通過瀏覽器的解析而顯示出來了。

怎么辦?我們要發(fā)送HTML郵件,Django當(dāng)然是為你提供了好的解決方案的,請(qǐng)看下面一段代碼:

from django.core.mail import EmailMultiAlternativesfrom django.template import Context, loadersubject, from_email, to = title, EMAIL_HOST_USER, mail_listhtml_content = t.render(Context(context))msg = EmailMultiAlternatives(subject, html_content, from_email, to)msg.attach_alternative(html_content, "text/html")msg.send()

看,很簡單吧,那么現(xiàn)在我要稍稍的做一點(diǎn)點(diǎn)改動(dòng),我需要發(fā)送附件給收件人,只需要做一個(gè)簡單的修改即可:

from django.core.mail import EmailMultiAlternativesfrom django.template import Context, loadersubject, from_email, to = title, EMAIL_HOST_USER, mail_listhtml_content = t.render(Context(context))msg = EmailMultiAlternatives(subject, html_content, from_email, to)msg.attach_alternative(html_content, "text/html")msg.attach_file(u'D:/My Documents/Python/doc/test.doc') # 添加附件發(fā)送msg.send()            
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 武川县| 琼结县| 独山县| 珲春市| 庆安县| 皮山县| 定远县| 芦溪县| 抚州市| 封开县| 柏乡县| 汾西县| 江川县| 习水县| 佛冈县| 若尔盖县| 阿鲁科尔沁旗| 望奎县| 岐山县| 福安市| 山丹县| 吉安市| 阳高县| 临潭县| 丰县| 烟台市| 金山区| 泉州市| 保靖县| 洛南县| 凤翔县| 江西省| 日土县| 扶风县| 阳信县| 江口县| 贡觉县| 朝阳县| 广昌县| 阜平县| 林口县|