Flask郵件發(fā)送

1聪富、Flask通過flask-mail插件支持郵件發(fā)送
pip install flask-mail
pip install flask-script

2盈罐、下述將從兩種方式驗證flask-mail發(fā)送郵件柄慰,一種是腳本執(zhí)行合蔽,另一種是集成在應用(程序)中發(fā)送郵件

2.1腳本方式暮的,emails.py

from flask import Flask

from flask_mail import Message,Mail

from flask_script import Manager,Shell

import os

app=Flask( __name__)

manager=Manager(app)

mail=Mail(app)

app.config['MAIL_SERVER']="smtp.163.com"  #各個郵件服務商MAIL_SERVER不同

app.config['MAIL_PORT']=465

app.config['MAIL_USE_SSL']=True

app.config['MAIL_USERNAME']=os.environ.get("MAIL_USERNAME")

app.config['MAIL_PASSWORD']=os.environ.get("MAIL_PASSWORD")

(flask-venv) $export MAIL_USERNAME="gyc1412@163.com"

(flask-venv) $export MAIL_PASSWORD="xxxxxxx"

python emails.py shell

>>>from flask_mail import Message

>>>from emails import mail

>>>msg=Message("test subject",sender="gyc1412@163.com",

recipients=['guangyichen@sina.cn'])    

>>>msg.body="text body"

>>>msg.html='<b>HTML</b>body'

>>>with app.app_context():

...    mail.send(msg)

...

>>>

2.2 郵件發(fā)送集成到應用的方式具篇,其中用到了多線程技術(shù)(threading)

#encoding=utf-8

from flask import Flask,render_template

from flask_mail import Message,Mailfrom threading 

import Threadfrom flask_script import Manager,Shell

import os app=Flask(__name__)

app.config['MAIL_SERVER']='smtp.163.com'

app.config['MAIL_PORT']=465

app.config['MAIL_USE_TLS']=False

app.config['MAIL_USE_SSL']=True

app.config['MAIL_USERNAME']=os.environ.get('MAIL_USERNAME')

app.config['MAIL_PASSWORD']=os.environ.get('MAIL_PASSWORD')

mail=Mail(app)manager=Manager(app)

def send_async_email(app,msg):    

    with app.app_context():              #激活上下文?        

        mail.send(msg)                   

@app.route('/')

def index():    

    msg=Message('主題',sender=os.environ.get('MAIL_USERNAME'),

recipients=['guangyichan@gmail.com'])                       

    msg.body="文本body"    

    msg.html='<b>HTML</b>body'    

    thread=Thread(target=send_async_email,args=[app,msg])          

    thread.start()    

    mail.send(msg)    

    return '異步郵件發(fā)送成功募逞。'

if __name__  ==  '__main__': 

    manager.run()

運行:python emails.py runserver -h 0.0.0.0 -p9090 頁面刷新即可發(fā)送郵件

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末蛋铆,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子放接,更是在濱河造成了極大的恐慌刺啦,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,576評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件透乾,死亡現(xiàn)場離奇詭異洪燥,居然都是意外死亡,警方通過查閱死者的電腦和手機乳乌,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,515評論 3 399
  • 文/潘曉璐 我一進店門捧韵,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人汉操,你說我怎么就攤上這事再来。” “怎么了磷瘤?”我有些...
    開封第一講書人閱讀 168,017評論 0 360
  • 文/不壞的土叔 我叫張陵芒篷,是天一觀的道長。 經(jīng)常有香客問我采缚,道長针炉,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,626評論 1 296
  • 正文 為了忘掉前任扳抽,我火速辦了婚禮篡帕,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘贸呢。我一直安慰自己镰烧,他們只是感情好,可當我...
    茶點故事閱讀 68,625評論 6 397
  • 文/花漫 我一把揭開白布楞陷。 她就那樣靜靜地躺著怔鳖,像睡著了一般。 火紅的嫁衣襯著肌膚如雪固蛾。 梳的紋絲不亂的頭發(fā)上结执,一...
    開封第一講書人閱讀 52,255評論 1 308
  • 那天,我揣著相機與錄音魏铅,去河邊找鬼昌犹。 笑死,一個胖子當著我的面吹牛览芳,可吹牛的內(nèi)容都是我干的斜姥。 我是一名探鬼主播,決...
    沈念sama閱讀 40,825評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼沧竟,長吁一口氣:“原來是場噩夢啊……” “哼铸敏!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起悟泵,我...
    開封第一講書人閱讀 39,729評論 0 276
  • 序言:老撾萬榮一對情侶失蹤杈笔,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后糕非,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體蒙具,經(jīng)...
    沈念sama閱讀 46,271評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡球榆,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,363評論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了禁筏。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片持钉。...
    茶點故事閱讀 40,498評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖篱昔,靈堂內(nèi)的尸體忽然破棺而出每强,到底是詐尸還是另有隱情,我是刑警寧澤州刽,帶...
    沈念sama閱讀 36,183評論 5 350
  • 正文 年R本政府宣布空执,位于F島的核電站,受9級特大地震影響穗椅,放射性物質(zhì)發(fā)生泄漏辨绊。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,867評論 3 333
  • 文/蒙蒙 一匹表、第九天 我趴在偏房一處隱蔽的房頂上張望邢羔。 院中可真熱鬧,春花似錦桑孩、人聲如沸拜鹤。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,338評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽敏簿。三九已至,卻和暖如春宣虾,著一層夾襖步出監(jiān)牢的瞬間惯裕,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,458評論 1 272
  • 我被黑心中介騙來泰國打工绣硝, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留蜻势,地道東北人。 一個月前我還...
    沈念sama閱讀 48,906評論 3 376
  • 正文 我出身青樓鹉胖,卻偏偏與公主長得像握玛,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子甫菠,可洞房花燭夜當晚...
    茶點故事閱讀 45,507評論 2 359

推薦閱讀更多精彩內(nèi)容