Flask與SMTP協(xié)議郵件擴展問題
Flask與SMTP協(xié)議郵件擴展
在開發(fā)過程中,很多應用程序都需要通過郵件提醒用戶,F(xiàn)lask的擴展包Flask-Mail通過包裝了Python內置的smtplib包,可以用在Flask程序中發(fā)送郵件。
Flask-Mail連接到簡單郵件協(xié)議(Simple Mail Transfer Protocol,SMTP)服務器,并把郵件交給服務器發(fā)送。
設置郵箱授權碼
如下示例,通過開啟QQ郵箱SMTP服務設置,發(fā)送郵件。
#coding:utf-8 from flask import Flask from flask_mail import Mail, Message app = Flask(__name__) # 配置郵件:服務器/端口/安全套接字層/郵箱名/授權碼 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(郵件擴展))
1. Flask的擴展包Flask-Mail通過包裝了Python內置的smtplib包,可以用在Flask程序中發(fā)送郵件。
Flask-Mail連接到簡單郵件協(xié)議(Simple Mail Transfer Protocol,SMTP)服務器,并把郵件交給服務器發(fā)送。
2. 開啟郵箱SMTP服務,,設置開啟郵箱的授權碼登錄,且獲取到授權碼
3. 配置郵件:
配置郵件:服務器/端口/傳輸層安全協(xié)議/郵箱名/密碼
app.config.update( ? ? DEBUG = True,? ? ? ? ? ?? ? ? MAIL_SERVER='smtp.qq.com',? ?#? 郵箱服務器 ? ? MAIL_PROT=465,? ? ? ? ? ? ? ? ? ?# 郵件服務器所對應的端口號 ? ? MAIL_USE_TLS = True,? ? ? #? ?傳輸?shù)臅r候是否用到了加密 ? ? MAIL_USERNAME = '22905818051@qq.com',? ? ? ? ? ? #? 使用郵箱連接時的用戶名 ? ? MAIL_PASSWORD = 'zheshixiangduiyingdemima',? ? ? ?# 使用郵箱服務器連接時對應的密碼 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?#? 密碼有可能不是用戶名的密碼,而是對應的授權碼 )
4. 導入相應的模塊
from flask_mail import Mail, Message
(1)生成Mail的對象:
mail = Mail(app)? #? 把app傳進去
(2)然后要發(fā)送的內容:
msg = Message("郵件的標題 ",sender='發(fā)送方', recipients=[接受方的列表(每個接收方都是一個字符串形式,以逗號隔開]) msg.body = "郵件體,即郵件的內容"
(3)發(fā)送郵件:
mail.send(msg)
總結
以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
tensorflow2.0如何實現(xiàn)cnn的圖像識別
這篇文章主要介紹了tensorflow2.0如何實現(xiàn)cnn的圖像識別,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-12-12使用Python實現(xiàn)XLS和XLSX之間的相互轉換
在日常工作中,我們經常需要處理和轉換不同格式的Excel文件,以適應不同的需求和軟件兼容性,Excel文件的兩種常見格式是XLS(Excel 97-2003)和XLSX(Excel 2007及以上版本),本文將詳細介紹如何使用Python在XLS和XLSX格式之間進行轉換,需要的朋友可以參考下2024-09-09python 哈希表實現(xiàn)簡單python字典代碼實例
這篇文章主要介紹了python 哈希表實現(xiàn)簡單python字典代碼實例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2019-09-09Anaconda中更新當前環(huán)境的Python版本詳細步驟
Anaconda是一個開源的Python發(fā)行版本,其包含了conda、Python等180多個科學包及其依賴項,下面這篇文章主要給大家介紹了關于Anaconda中更新當前環(huán)境的Python版本的詳細步驟,需要的朋友可以參考下2024-08-08python生成器/yield協(xié)程/gevent寫簡單的圖片下載器功能示例
這篇文章主要介紹了python生成器/yield協(xié)程/gevent寫簡單的圖片下載器功能,結合實例形式分析了python生成器、yield協(xié)程與gevent圖片下載器相關功能定義與使用技巧,需要的朋友可以參考下2019-10-10Python?NumPy教程之數(shù)組的創(chuàng)建詳解
這篇文章主要為大家詳細介紹了Python?NumPy中數(shù)組的創(chuàng)建方式,文中的示例代碼講解詳細,對我們學習Python有一定幫助,需要的可以參考一下2022-08-08解決python3.x安裝numpy成功但import出錯的問題
這篇文章主要介紹了解決python3.x安裝numpy成功但import出錯的問題,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-11-11