Flask Mail使用163郵箱非同步傳送郵件

2021-08-16 19:42:00 字數 1813 閱讀 5510

很多態別的應用程式都需要在特定事件發生時提醒使用者,而常用的通訊方法是電子郵件。

雖然 python 標準庫中的 smtplib 包可用在 flask 程式中傳送電子郵件,但包裝了 smtplib 的

flask-mail 擴充套件能更好地和 flask 整合。

使用 pip 安裝 flask-mail:

(venv) $ pip install flask-mail

flask-mail 配置項

flask-mail 使用標準的 flask 配置 api 進行配置,下面是一些常用的配置項:

配置項說明

mail_server

郵件伺服器位址,預設為 localhost

mail_port

郵件伺服器端口,預設為 25

mail_use_tls

是否啟用傳輸層安全 (transport layer security, tls)協議,預設為 false

mail_use_ssl

是否啟用安全套接層 (secure sockets layer, ssl)協議,預設為 false

mail_debug

mail_username

郵件伺服器使用者名稱,預設為 none

mail_password

郵件伺服器密碼,預設為 none

mail_default_sender

郵件發件人,預設為 none,也可在 message 物件裡指定

mail_max_emails

郵件批量傳送個數上限,預設為 none

mail_suppress_send

163郵箱配置

微軟 windows 使用者可按照下面的方式設定環境變數:(<>改為'')

(venv) $ set mail_username=郵箱

(venv) $ set mail_password=授權碼

在cmd下面,設定環境變數的時候,不需要引號,在powershell下面設定的時候,需要引號!!!

非同步傳送郵件**:

mail.send(msg)

def send_email(to, subject, template, **kwargs):

'flasky_mail_subject_prefix'] + subject,

'flasky_mail_sender'], recipients=[to])

msg.body = render_template(template +

'.txt', **kwargs)

msg.html = render_template(template +

'.html', **kwargs)

thr.start()

return thr

使用flask mail傳送郵件

mail server smtp.qq.com mail port 465 mail use tls false mail use ssl true 注意此處,很多人配置發不出去和這個是有關係的 mail password mail username qq.com usr bin env pytho...

如何使用flask mail傳送郵件

exts.py 如下 from flask mail import mail mail mail config.py 如下 伺服器ip位址 mail server smtp.qq.com 埠號 tls對應587,ssl對應465 mail port 587 mail use tls true mai...

centos使用163的源

因為centos裝完沒有安裝gcc,之前手動裝完公升級失敗,於是昨天重灌了centos 6.4 i686的,核心是2.6的。centos的官方源極難用。於是先換個源再安裝其他東西。以下是163的源安裝說明。首先備份 etc yum.repos.d centos base.repo mv etc yu...