在Django中發(fā)送郵件很簡單,只需要使用django.core.mail中的send_mail函數(shù)即可實(shí)現(xiàn)。
具體來說,需要一些簡單配置:
1.在郵箱內(nèi)開通smtp等服務(wù),如下圖所示。126郵箱開通的過程中要設(shè)置客戶端授權(quán)碼(授權(quán)碼后面會用到)。

2.settings.py中的設(shè)置
在django中的settings.py中添加如下代碼:
EMAIL_HOST = 'smtp.126.com' # 發(fā)送郵件的服務(wù)器地址
EMAIL_HOST_USER = '替換成自己的郵箱用戶名' # 不含‘@126.com’的后綴
EMAIL_HOST_PASSWORD = '替換成自己的郵箱授權(quán)碼' # 非郵箱登錄密碼
EMAIL_PORT = 25
DEFAULT_FROM_EMAIL = 'XXXX@126.com' # 設(shè)置默認(rèn)的發(fā)件人,不設(shè)置的話,本例中不會出現(xiàn)問題,但是在實(shí)際django中實(shí)際運(yùn)用時(shí),會出現(xiàn)問題,參見 http://blog.chinaunix.net/uid-21142030-id-5768057.html
3.代碼文件
在settings.py的同級目錄中,新建一個(gè)Python代碼文件(后綴名為.py),輸入如下代碼:
import os
from django.core.mail import send_mail
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "blog_shizhan.settings") # 設(shè)置django的環(huán)境變量,不設(shè)置的話,不能讀取到步驟2中的EMAIL_HOST等參數(shù)。
send_mail(
'郵件主題',
'郵件內(nèi)容',
'xxxx@126.com', # 發(fā)件人
['xxxx@qq.com'], # 收件人,必須是列表類型
fail_silently=False,
)
print('Done!')
運(yùn)行該代碼文件,即可發(fā)送郵件了。