Django傳送郵件

2021-09-29 08:47:52 字數 1429 閱讀 5214

一,配置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...