找回密碼
 註冊
搜索
查看: 605|回復: 0

[教學] Flask CPanel 實作 mail 郵件發送

[複製鏈接]
發表於 4 天前 | 顯示全部樓層 |閱讀模式
Push to Facebook
說明
flask-mail本身是將smtplib包裝起來的一個套件

mail.py看的出來,搭配Flask應用對於我們派送註冊驗證信或警示訊息傳遞都非常實用。


安裝
  1. pip install flask-mail
複製代碼

範例
import的模式跟其它擴展一樣都有兩種方式,實作的時候放入app,或是利用init_app,視你的使用情境來選用,如下兩個範例:


  1. # 以此方式,所有的郵件設置會一次性渲染
  2. from flask import Flask
  3. from flask-mail import Mail

  4. app = Flask(__name__)
  5. mail = Mail(app)
複製代碼
  1. # 如果你有不同專案要走不同郵件設置的話,用此方式較佳
  2. # 如果你使用工廠模式的話,也會以此方式來做初始化
  3. from flask import Flask
  4. from flask-mail import Mail

  5. mail = Mail()
  6. app = Flask(__name__)
  7. mail.init_app(app)
複製代碼

範例:flask-mail 寄一封信
這次的範例使用的是CPanel(hotmail)做SMTP Server,如果你使用的是公司內部的Mail Server或是Gmail,再依實際情況調整設置即可,如下範例:

  1. app.config.update(
  2.     #  hotmail的設置
  3.     MAIL_SERVER=smtpserver, # mail.hotmail.com
  4.     MAIL_PROT=smtpserverport ,  # port 587
  5.     MAIL_USE_TLS=True,
  6.     MAIL_USERNAME=smtpuser,
  7.     MAIL_PASSWORD=smtppass
  8. )
  9. #  記得先設置參數再做實作mail
  10. mail = Mail(app)
複製代碼
  1. @app.route('/')
  2. def aa():
  3.     msg = Message("HEY hello ", sender="xxx@netyea.com", recipients=["xxxx@gmail.com"])
  4.     msg.body = time.strftime("%Y-%m-%d",
  5.                              time.localtime()) + "<br>hello fsafdfasfasdfsafasfdadsfasdfadsfafa"  # 郵件內容
  6.     ##########################################
  7.     mail.send(msg)
  8.     echo_message = "<script>alert('發送成功!!');history.back();</script>"


  9. if __name__ == "__main__":
  10.     app.run(debug=True)
複製代碼


展示圖:

Flask CPanel mail 郵件發送

Flask CPanel mail 郵件發送


用OUTLOOK收信

Flask CPanel mail 郵件發送

Flask CPanel mail 郵件發送



文章來源:NetYea 網頁設計

參考文章
https://hackmd.io/@shaoeChen/BytvGKs4M


您需要登錄後才可以回帖 登錄 | 註冊

本版積分規則

Archiver|手機版|小黑屋|TShopping

GMT+8, 2025-8-18 06:41 , Processed in 0.035152 second(s), 30 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回復 返回頂部 返回列表