日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

使用Flask-Mail发送邮件

發布時間:2025/4/5 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 使用Flask-Mail发送邮件 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

簡介

在WEB開發時,我們常常會使用到發送郵件的功能,注冊時或者更換密碼時,需要驗證郵箱,在flask的擴展中有Flask-mai來幫助完成這一功能

配置

flask-mail發送郵件需要你提供你的郵箱賬號和密碼。某些配置是發送郵箱所必須的·。大部分flask初學者一般沒有云主機和域名來搭建郵箱服務器,所以我們只能使用qq等郵件服務商給你的郵箱
這里介紹了如何配置郵箱的config
開發在mail文件夾中

#/app/config MAIL_SERVER = 'smtp.qq.com' MAIL_PORT = 465 MAIL_USE_TLS = False MAIL_USE_SSL = True # 注意此處,很多人配置發不出去和這個是有關系的 MAIL_PASSWORD = '**********' MAIL_USERNAME = '********@qq.com'

此處以qq郵箱為例子,我們填入了qq郵箱的服務器地址,他的郵箱服務的端口,TLS,SSL的選擇–這是很多人發不出去郵件的關鍵之一,賬號和密碼–發不出去郵箱的另一個關鍵!
QQ郵箱是使用SSL的,然后注意QQ郵箱此處的密碼不是你的qq密碼!!
不是你的QQ密碼!!
。。我在這個坑陷了很久~~很久 ~~很久·
這個密碼你登陸qq郵箱,選擇設置,然后點擊賬號


郵箱的密碼就是此處的授權碼填入后的給你的密碼。
126等郵箱發不出去也是因為其有自己的設置。

功能實現

實現我們需要一個app實例

#/usr/bin/env python # mail/app.py from flask import Flask from flask_mail import Mail, Message from threading import Threadapp = Flask(__name__) mail = Mail(app)def send_async_email(app,msg):with app.app_context():mail.send()def SendMail():msg = Message('test',sender='***@qq.com',\recipients=["***@example.com"]) #recipients是個列表,包含所有收件人 #此處的test是郵箱的主題,sender和config中的MAIL_USERNAME要一致哦msg.body = 'testbody'msg.html = '<b>test</b>body' #郵件發送給目標,可以有文本,兩種方式呈現,你能看見怎樣的取決于你的客戶端thr = Thread(target=send_async_email,args=[app,msg]) #使用多線程,在實際開發中,若是不使用異步、多線程等方式,網頁會卡住thr.start()return 'ok'

在當前文件夾使用python

>>from app import SendMail >>SendMail()

郵件就會成功發出去啦

補充

在具體實踐中,發送郵箱會被抽象成一個函數,msg的body和html形式一般會使用flask的render_tempalte來渲染
發送大量郵件時,QQ、126郵箱服務器很有可能認為你在發送垃圾郵件因此發不出去。
生產環境時應當使用自己搭的郵箱服務器,或者郵箱服務商提供的企業郵箱

參考

flask-login中文文檔 http://www.pythondoc.com/flask-mail/

?

???

???

轉載于:https://www.cnblogs.com/lynsyklate/p/6443407.html

總結

以上是生活随笔為你收集整理的使用Flask-Mail发送邮件的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。