本文實例講述了Flask-Mail用法。分享給大家供大家參考,具體如下:
很多類型的應用程序都需要在特定事件發生時提醒用戶,而常用的通信方法是電子郵件。
雖然 Python 標準庫中的 smtplib
包可用在 Flask 程序中發送電子郵件,但包裝了 smtplib
的
Flask-Mail
擴展能更好地和 Flask 集成
安裝
pip3 install flask-mail
Flask-Mail SMTP服務器的配置
配置 | 默認值 | 說明 |
---|---|---|
MAIL_SERVER | localhost | 電子郵件服務器的主機名或IP地址 |
MAIL_PORT | 25 | 電子郵件服務器的端口 |
MAIL_USE_TLS | False | 啟用傳輸層安全協議 |
MAIL_USE_SSL | False | 啟用安全套接層協議 |
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(): """ 發送郵件 """ message = Message("標題",sender=app.config["USERNAME"],recipients=["xxxxxx@qq.com"]) message.body = "內容" t = Thread(target=send_email,args=(message,)) t.start() return "發送成功"def send_email(msg): with app.app_context(): mail.send(msg)if __name__ == "__main__": app.run()
Message:郵件消息,sender:發送者郵箱;recipients:接收者郵箱,列表格式;body:內容
網易163免費郵箱相關服務器信息
使用網易郵箱作為發送者郵箱時應注意,郵箱密碼并非為郵箱的登錄密碼,而是客戶端授權密碼。
希望本文所述對大家基于flask框架的Python程序設計有所幫助。
新聞熱點
疑難解答