|
說明
flask-mail本身是將smtplib包裝起來的一個套件
mail.py看的出來,搭配Flask應用對於我們派送註冊驗證信或警示訊息傳遞都非常實用。
安裝
範例
import的模式跟其它擴展一樣都有兩種方式,實作的時候放入app,或是利用init_app,視你的使用情境來選用,如下兩個範例:
- # 以此方式,所有的郵件設置會一次性渲染
- from flask import Flask
- from flask-mail import Mail
- app = Flask(__name__)
- mail = Mail(app)
複製代碼- # 如果你有不同專案要走不同郵件設置的話,用此方式較佳
- # 如果你使用工廠模式的話,也會以此方式來做初始化
- from flask import Flask
- from flask-mail import Mail
- mail = Mail()
- app = Flask(__name__)
- mail.init_app(app)
複製代碼
範例:flask-mail 寄一封信
這次的範例使用的是CPanel(hotmail)做SMTP Server,如果你使用的是公司內部的Mail Server或是Gmail,再依實際情況調整設置即可,如下範例:
- app.config.update(
- # hotmail的設置
- MAIL_SERVER=smtpserver, # mail.hotmail.com
- MAIL_PROT=smtpserverport , # port 587
- MAIL_USE_TLS=True,
- MAIL_USERNAME=smtpuser,
- MAIL_PASSWORD=smtppass
- )
- # 記得先設置參數再做實作mail
- mail = Mail(app)
複製代碼- @app.route('/')
- def aa():
- msg = Message("HEY hello ", sender="xxx@netyea.com", recipients=["xxxx@gmail.com"])
- msg.body = time.strftime("%Y-%m-%d",
- time.localtime()) + "<br>hello fsafdfasfasdfsafasfdadsfasdfadsfafa" # 郵件內容
- ##########################################
- mail.send(msg)
- echo_message = "<script>alert('發送成功!!');history.back();</script>"
- if __name__ == "__main__":
- app.run(debug=True)
複製代碼
展示圖:
Flask CPanel mail 郵件發送
用OUTLOOK收信
Flask CPanel mail 郵件發送
文章來源:NetYea 網頁設計
參考文章
https://hackmd.io/@shaoeChen/BytvGKs4M
|
|