本文實(shí)例講述了Flask-Mail用法。分享給大家供大家參考,具體如下:
很多類型的應(yīng)用程序都需要在特定事件發(fā)生時(shí)提醒用戶,而常用的通信方法是電子郵件。
雖然 Python 標(biāo)準(zhǔn)庫(kù)中的 smtplib
包可用在 Flask 程序中發(fā)送電子郵件,但包裝了 smtplib
的
Flask-Mail
擴(kuò)展能更好地和 Flask 集成
安裝
pip3 install flask-mail
Flask-Mail SMTP服務(wù)器的配置
配置 | 默認(rèn)值 | 說(shuō)明 |
---|---|---|
MAIL_SERVER | localhost | 電子郵件服務(wù)器的主機(jī)名或IP地址 |
MAIL_PORT | 25 | 電子郵件服務(wù)器的端口 |
MAIL_USE_TLS | False | 啟用傳輸層安全協(xié)議 |
MAIL_USE_SSL | False | 啟用安全套接層協(xié)議 |
MAIL_USERNAME | None | 郵件賬戶的用戶名 |
MAIL_PASSWORD | None | 郵件賬戶的密碼 |
代碼示例
from threading import Threadfrom flask import Flaskfrom flask_mail import Mail,Messageapp = Flask(__name__)app.config["MAIL_SERVER"] = "smtp.163.com"app.config["MAIL_PORT"] = 465app.config["MAIL_USE_SSL"] = Trueapp.config["MAIL_USERNAME"] = "xxxxx@163.com"app.config["MAIL_PASSWORD"] = "123456"mail = Mail(app)@app.route("/send_mail")def send_mail(): """ 發(fā)送郵件 """ message = Message("標(biāo)題",sender=app.config["USERNAME"],recipients=["xxxxxx@qq.com"]) message.body = "內(nèi)容" t = Thread(target=send_email,args=(message,)) t.start() return "發(fā)送成功"def send_email(msg): with app.app_context(): mail.send(msg)if __name__ == "__main__": app.run()
Message:郵件消息,sender:發(fā)送者郵箱;recipients:接收者郵箱,列表格式;body:內(nèi)容
網(wǎng)易163免費(fèi)郵箱相關(guān)服務(wù)器信息
使用網(wǎng)易郵箱作為發(fā)送者郵箱時(shí)應(yīng)注意,郵箱密碼并非為郵箱的登錄密碼,而是客戶端授權(quán)密碼。
希望本文所述對(duì)大家基于flask框架的Python程序設(shè)計(jì)有所幫助。
新聞熱點(diǎn)
疑難解答
圖片精選