一,配置setting
# 郵箱配置項
email_backend = 'django.core.mail.backends.smtp.emailbackend'
email_host = # 郵箱伺服器的ip位址
email_port = # 埠號
email_host_user = # 傳送郵件的郵箱
email_host_password = # 在郵箱中設定的客戶端授權密碼
email_from = # 收件人看到的發件人
二,傳送郵件**
import os
from django.conf import settings
from email.header import make_header
from django.core.mail import emailmultialternatives
def send_mail_with_file(rec_address=none, rec_copy_address=none, theme=none, text=none, html=none,
accessory=none):
"""傳送郵件
:param rec_address: 收件人郵箱
:param rec_copy_address: 抄送人郵箱
:param theme: 主題
:param text: 郵件名稱
:param html: 郵件內容
:param accessory:附件檔案
:return:
"""msg = emailmultialternatives(theme, text, settings.email_from, rec_address, cc=rec_copy_address)
msg.attach_alternative(html, "text/html")
# 傳送附件
if isinstance(accessory, str):
file_list = [accessory]
for file_path in file_list:
with open(file_path, 'rb') as f:
text = f.read()
file_name = os.path.basename(file_path)
# 對檔案進行編碼處理
b = make_header([(file_name, 'utf-8')]).encode('utf-8')
msg.attach(b, text)
return msg.send()
三 參考文獻
參考文獻
Django傳送郵件
簡介 雖然python提供了smtplib庫,來完成email的傳送功能,但是django對其進行了封裝,使得傳送郵件的介面變得更簡單,更方便,django的封裝位於django.core.mail 例子 from django.core.mail import send mail send mai...
django傳送郵件
django封裝了python自帶的傳送郵件的功能,使其更加簡單易用。1 settings中進行配置 email backend django.core.mail.backends.smtp.emailbackend email use tls true email host smtp.163.co...
Django傳送郵件
django提供了傳送郵件的介面,僅需做簡單的設定即可實現傳送郵件的功能。首先需要在setting做簡單的配置,以163郵箱為例 email backend django.core.mail.backends.smtp.emailbackend email host smtp.163.com ema...