Flask與SMTP協(xié)議郵件擴(kuò)展問(wèn)題
Flask與SMTP協(xié)議郵件擴(kuò)展
在開(kāi)發(fā)過(guò)程中,很多應(yīng)用程序都需要通過(guò)郵件提醒用戶,F(xiàn)lask的擴(kuò)展包Flask-Mail通過(guò)包裝了Python內(nèi)置的smtplib包,可以用在Flask程序中發(fā)送郵件。
Flask-Mail連接到簡(jiǎn)單郵件協(xié)議(Simple Mail Transfer Protocol,SMTP)服務(wù)器,并把郵件交給服務(wù)器發(fā)送。
設(shè)置郵箱授權(quán)碼

如下示例,通過(guò)開(kāi)啟QQ郵箱SMTP服務(wù)設(shè)置,發(fā)送郵件。
#coding:utf-8
from flask import Flask
from flask_mail import Mail, Message
app = Flask(__name__)
# 配置郵件:服務(wù)器/端口/安全套接字層/郵箱名/授權(quán)碼
app.config['MAIL_SERVER'] = "smtp.126.com"
app.config['MAIL_PORT'] = 465
app.config['MAIL_USE_SSL'] = True
app.config['MAIL_USERNAME'] = "huidongpeng@126.com"
app.config['MAIL_PASSWORD'] = "heima666"
app.config['MAIL_DEFAULT_SENDER'] = 'FlaskAdmin<huidongpeng@126.com>'
mail = Mail(app)
@app.route('/')
def hello_world():
return '<a href="/send_mail">發(fā)送郵件</a>'
@app.route('/send_mail')
def send_mail():
msg = Message('這是郵件的主題', recipients=['huidongpeng@126.com'],body='This is flask mail')
mail.send(msg)
return '已發(fā)送郵件'
if __name__ == '__main__':
app.run(debug=True)
Flask框架(flask中的郵件發(fā)送Flask-Mail(郵件擴(kuò)展))
1. Flask的擴(kuò)展包Flask-Mail通過(guò)包裝了Python內(nèi)置的smtplib包,可以用在Flask程序中發(fā)送郵件。
Flask-Mail連接到簡(jiǎn)單郵件協(xié)議(Simple Mail Transfer Protocol,SMTP)服務(wù)器,并把郵件交給服務(wù)器發(fā)送。
2. 開(kāi)啟郵箱SMTP服務(wù),,設(shè)置開(kāi)啟郵箱的授權(quán)碼登錄,且獲取到授權(quán)碼

3. 配置郵件:
配置郵件:服務(wù)器/端口/傳輸層安全協(xié)議/郵箱名/密碼
app.config.update( ? ? DEBUG = True,? ? ? ? ? ?? ? ? MAIL_SERVER='smtp.qq.com',? ?#? 郵箱服務(wù)器 ? ? MAIL_PROT=465,? ? ? ? ? ? ? ? ? ?# 郵件服務(wù)器所對(duì)應(yīng)的端口號(hào) ? ? MAIL_USE_TLS = True,? ? ? #? ?傳輸?shù)臅r(shí)候是否用到了加密 ? ? MAIL_USERNAME = '22905818051@qq.com',? ? ? ? ? ? #? 使用郵箱連接時(shí)的用戶名 ? ? MAIL_PASSWORD = 'zheshixiangduiyingdemima',? ? ? ?# 使用郵箱服務(wù)器連接時(shí)對(duì)應(yīng)的密碼 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?#? 密碼有可能不是用戶名的密碼,而是對(duì)應(yīng)的授權(quán)碼 )
4. 導(dǎo)入相應(yīng)的模塊
from flask_mail import Mail, Message
(1)生成Mail的對(duì)象:
mail = Mail(app)? #? 把a(bǔ)pp傳進(jìn)去
(2)然后要發(fā)送的內(nèi)容:
msg = Message("郵件的標(biāo)題 ",sender='發(fā)送方', recipients=[接受方的列表(每個(gè)接收方都是一個(gè)字符串形式,以逗號(hào)隔開(kāi)])
msg.body = "郵件體,即郵件的內(nèi)容"(3)發(fā)送郵件:
mail.send(msg)
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
刪除python pandas.DataFrame 的多重index實(shí)例
今天小編就為大家分享一篇?jiǎng)h除python pandas.DataFrame 的多重index實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-06-06
基于DataFrame篩選數(shù)據(jù)與loc的用法詳解
今天小編就為大家分享一篇基于DataFrame篩選數(shù)據(jù)與loc的用法詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-05-05
python 平衡二叉樹(shù)實(shí)現(xiàn)代碼示例
這篇文章主要介紹了python 平衡二叉樹(shù)實(shí)現(xiàn)代碼示例,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-07-07
一步步講解利用Flask開(kāi)發(fā)一個(gè)Web程序
這篇文章主要介紹了使用Flask框架在Linux系統(tǒng)上開(kāi)發(fā)一個(gè)簡(jiǎn)單的WatchList?Web程序的過(guò)程,包括了實(shí)現(xiàn)的詳細(xì)步驟,最終實(shí)現(xiàn)了一個(gè)包含登錄界面的Web程序,需要的朋友可以參考下2025-02-02
以視頻爬取實(shí)例講解Python爬蟲(chóng)神器Beautiful Soup用法
這篇文章主要以視頻爬取實(shí)例來(lái)講解Python爬蟲(chóng)神器Beautiful Soup的用法,Beautiful Soup是一個(gè)為Python獲取數(shù)據(jù)而設(shè)計(jì)的包,簡(jiǎn)潔而強(qiáng)大,需要的朋友可以參考下2016-01-01

