flask讀書筆記

三千煩惱絲發表於2017-04-03

http://pythonhosted.org/Flask-Mail/先來一發原文連結,第一選擇永遠應該官方文件,最新最及時,可以省掉踩坑的時間,一把辛酸淚,Flask Web開發:基於Python的Web應用開發實戰,書裡寫的比較複雜,很多地方已有變更,不適合嚐鮮,在網上搜集了一些內容 ,用最簡單的方式先來感受一下。 先安裝flask-mail,過程省略 ,方便 直接安裝的話會各種裝不上,建議國內映象。

國內映象
http://pypi.douban.com/simple/ 豆瓣
http://mirrors.aliyun.com/pypi/simple/ 阿里
http://pypi.hustunique.com/simple/ 華中理工大學
http://pypi.sdutlinux.org/simple/ 山東理工大學
http://pypi.mirrors.ustc.edu.cn/simple/ 中國科學技術大學
https://pypi.tuna.tsinghua.edu.cn/simple 清華

不過貌似清華的最好用,可能是因為帶s,
簡單的 配置項 用的qq郵箱,估計其他郵箱也差不多

from flask import Flask
from flask_mail import Mail, Message
app =Flask(__name__)
mail=Mail(app)

app.config['MAIL_SERVER']='smtp.qq.com'
app.config['MAIL_PORT'] =  465或587
app.config['MAIL_USERNAME'] = 'yourId@qq.com'
app.config['MAIL_PASSWORD'] = '*****'  填入獲得的授權碼
app.config['MAIL_USE_TLS'] = False
app.config['MAIL_USE_SSL'] = True
@app.route("/")
def index():
   msg = Message('Hello', sender = 'yourId@qq.com', recipients = ['id1@gmail.com'])
   msg.body = "Hello Flask message sent from Flask-Mail"    

   可以單獨新增收件人
   '''msg.recipients = ["you@example.com"]
   #msg.add_recipient("somebodyelse@example.com")  '''

   with app.app_context():
       mail.send(msg)
   return "Sent"

if __name__ == '__main__':
app.run(debug = True)    

Flask擴充套件假設存在啟用的程式上下文和請求上下文。Flask-Mail中的send()函式使用current_app,因此必須啟用程式上下文。不過,在不同執行緒中執行mail.send()函式時,程式上下文要使用app.app_context()人工建立

相關文章