前言
在Django應(yīng)用程序中發(fā)送電子郵件最常見的用例是密碼重置、帳戶激活和發(fā)送與您的應(yīng)用程序相關(guān)的一般通知。下面來看看詳細(xì)的介紹吧。
配置Django發(fā)送電子郵件
要配置您的Django應(yīng)用程序,添加下面的參數(shù)到你settings.py:
# 主機(jī)EMAIL_HOST = "smtp.sina.com"# 端口EMAIL_PORT = 25# 發(fā)件人郵箱EMAIL_HOST_USER = "anshengme@sina.com"# 密碼EMAIL_HOST_PASSWORD = "ansheng.me"# 是否使用httpsEMAIL_USE_TLS = False# 發(fā)件人EMAIL_FROM = "安生"
發(fā)送郵件
先看看send_mail()
方法提供了那些參數(shù):
參數(shù) | 描述 |
---|---|
subject | 郵件標(biāo)題 |
message | 郵件正文 |
from_email | 發(fā)送者 |
recipient_list | 收件人列表 |
fail_silently | 布爾值, |
auth_user | 用于向SMTP服務(wù)器進(jìn)行身份驗證的可選用戶名,如果未提供此項,Django將使用EMAIL_HOST_USER設(shè)置的值 |
auth_password | 用于向SMTP服務(wù)器進(jìn)行身份驗證的可選密碼,如果未提供此項,Django將使用EMAIL_HOST_PASSWORD設(shè)置的值 |
connection | 用于發(fā)送郵件的可選電子郵件后端,如果未指定,將使用默認(rèn)后端的實(shí)例 |
html_message | 如果提供了html_message,則生成的電子郵件將是一個多部分/替代電子郵件,其消息為text/plain內(nèi)容類型,html_message為text/html內(nèi)容類型。 |
然后我們進(jìn)入帶django shell環(huán)境變量的python解釋器,然后發(fā)送一個郵件試試?
$ python3 manage.py shellIn [1]: from django.core.mail import send_mailIn [2]: send_mail("這是郵件標(biāo)題", "這是郵件主體", 'anshengme@sina.com', ['ianshengme@gmail.com'])# 返回值將是成功傳遞的消息的數(shù)量(可以是0或1,因為它只能發(fā)送一個消息)Out[2]: 1
打開接收郵件的郵箱看看是否已經(jīng)接收到郵件了?
同時發(fā)送多封電子郵件
send_mass_mail()
所提供的參數(shù)值
屬性 | 描述 |
---|---|
datatuple | 接收一個一個元組,每個元素都是(subject, message, from_email, recipient_list)這種格式 |
小栗子
In [1]: message1 = ("這是第一封郵件標(biāo)題", "這是第一封郵件主體", 'anshengme@sina.com', ['ianshengme@gmail.com'])In [2]: message2 = ("這是第二封郵件標(biāo)題", "這是第二封郵件主體", 'anshengme@sina.com', ['ianshengme@gmail.com'])In [3]: from django.core.mail import send_mass_mailIn [4]: send_mass_mail((message1,message2),fail_silently=False)Out[4]: 2
新聞熱點(diǎn)
疑難解答
圖片精選