用flask開發個人部落格(24)—— flask中使用Flask_Mail傳送電子郵件
阿新 • • 發佈:2018-12-30
flask中使用Flask-Mail提供對電子郵件的支援,下面將分步驟測試flask中傳送電子郵件的功能:
1 配置SMTP伺服器的資訊
我們需要藉助flask程式例項app的config屬性來配置電子郵件的SMTP伺服器資訊,其中主要的配置選項包括伺服器的地址MAIL_SERVER\埠號MAIL_PORT\使用者名稱MAIL_USERNAME\密碼MAIL_PASSWORD.下面以QQ郵箱為例傳送電子郵件.
這裡我們將使用者名稱和密碼儲存在名為MAIL_USERNAME和MAIL_PASSWORD的環境變數中,然後設定相應的環境變數即可.注意app.config['MAIL_USE_TLS']=True這句程式碼,因為我們用的埠是587,為TLS(傳輸層安全協議)的安全埠,所以設定傳輸層安全協議生效.import os #... app.config['MAIL_SERVER']='smtp.qq.com' app.config['MAIL_PORT']=587 app.config['MAIL_USE_TLS']=True app.config['MAIL_USERNAME']=os.environ.get('MAIL_USERNAME') app.config['MAIL_PASSWORD']=os.environ.get('MAIL_PASSWORD')
2 建立電子郵件Mail例項
from flask_mail import Mail
mail=Mail(app)
3 配置所需要的環境變數
export [email protected]
export MAIL_PASSWORD=XXXXX
4 在python shell中傳送電子郵件
from flask.ext.mail import Message
from test import mail
msg=Message('My Subject',sender='[email protected]',recipients=['[email protected]'])
msg.body='text body'
msg.html='<b>HTML</b> body'
with app.app_context():
mail.send(msg)
效果如圖:
git clone git@github.com:HymanLiuTS/flaskTs.git
獲取本文原始碼:
git checkout FL24