很多態別的應用程式都需要在特定事件發生時提醒使用者,而常用的通訊方法是電子郵件。
雖然 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...