第三百二十一節,Django框架,傳送郵件

2021-09-07 13:16:54 字數 2535 閱讀 6260

第三百二十一節,django框架,傳送郵件

全域性配置settings.py

email_backend = '

django.core.mail.backends.smtp.emailbackend'#

傳送郵件引擎

email_use_tls = false #

是否以https方式

email_host = '

smtp.163.com'#

郵件smtp伺服器

email_port = 25 #

埠email_host_user = '

[email protected]'#

發件人email_host_password = '

adc279818'#

發件人密碼

default_from_email = '

玉秀文化 <[email protected]>'#

收件人顯示的發件人資訊

send_mail() 每次發郵件都會建立乙個連線,發多封郵件時建立多個連線

from django.core.mail import

send_mail

send_mail('主題

', '

內容', '

玉秀文化 <[email protected]>

',['

[email protected]

'], fail_silently=false)

send_mass_mail() 是建立單個連線傳送多封郵件,所以一次性傳送多封郵件時 send_mass_mail 要優於 send_mail。

from django.core.mail import

send_mass_mail

message1 = ('

主題', '

內容', '

玉秀文化 <[email protected]>

', ['

[email protected]

', '

[email protected]'])

message2 = ('

主題', '

內容', '

玉秀文化 <[email protected]>

', ['

[email protected]'])

a = send_mass_mail((message1,message2), fail_silently=false)

print(a)

如果我們想在郵件中新增附件,傳送 html 格式的內容

from django.conf import

settings

from django.core.mail import

emailmultialternatives

from_email =settings.default_from_email

#subject 主題 content 內容 to_addr 是乙個列表,傳送給哪些人

msg =emailmultialternatives(subject, content, from_email, [to_addr])

msg.content_subtype = "

html"#

新增附件(可選)

msg.attach_file('

./twz.pdf')

#傳送msg.send()

上面的做法可能有一些風險,除非你確信你的接收者都可以閱讀 html 格式的 郵件。

為安全起見,你可以弄兩個版本,乙個純文字(text/plain)的為預設的,另外再提供乙個 html 版本的(好像好多國外發的郵件都是純文字的)

from

__future__

import

unicode_literals

from django.conf import

settings

from django.core.mail import

emailmultialternatives

subject = '

來自自強學堂的問候

'text_content = '

這是一封重要的郵件.

'html_content = '

這是一封重要的郵件.

'msg =emailmultialternatives(subject, text_content, from_email, [[email protected]])

msg.attach_alternative(html_content,

"text/html")

msg.send()

第三百二十一節,Django框架,傳送郵件

第三百二十一節,django框架,傳送郵件 全域性配置settings.py email backend django.core.mail.backends.smtp.emailbackend 傳送郵件引擎 email use tls false 是否以https方式 email host smtp...

第二十一節 異常處理

異常處理 異常分為2種,一種是語法錯誤 必須在除錯的時候處理掉 一種是邏輯錯誤 為了保證程式的健壯性與容錯性,即在遇到錯誤時程式不會崩潰,我們需要對此異常進行處理 exception異常是其他所有異常類的基類,可代表所有異常 s1 hello 異常多分支 try int s1 except inde...

20200406 第六百二十一 任務排程器

排序 由於相同的任務之間必須有 n 的冷卻時間,所以我們可以想到按照任務的數量來安排它們,即一種任務的出現次數越多,我們就越早地安排。例如有 5 種任務 a,b,c,d,e,且它們分別有 6,1,1,1,1 個時,假設冷卻時間 n 2,那麼我們首先安排任務 a,隨後在 2 單位的冷卻時間裡,我們安排...