Flask之flask mail郵件傳送

2021-09-12 23:49:05 字數 1785 閱讀 4170

為什麼要使用flask-mail傳送郵件?

因為python自帶的email包比較底層,使用起來比較麻煩。

安裝flask-mail:

pip install flask-mail
配置 flask-mail

mail_server : 預設為 『localhost』    #這裡我配置qq郵箱伺服器:smtp.qq.com

mail_port : 預設為 25 #qq郵箱伺服器端口:465

mail_use_tls : 預設為 false #使用的是tls協議,所以為true

mail_use_ssl : 預設為 false

mail_username : 預設為 none #這裡配置自己的qq郵箱

mail_password : 預設為 none #這裡的密碼不是郵箱密碼,是需要去開啟的客戶端授權密碼

mail_default_sender : 預設為 none #這裡我配置自己的qq郵箱

mail_max_emails : 預設為 none

#一次性發郵件的最大數量,即recipients列表長度

mail_ascii_attachments : 預設為 false

#檔名將會轉換成 ascii 的。 當檔名是以 utf-8 編碼的時候,使用郵件**的時候會修改郵件內容並且混淆 content-disposition 描述,這個時候 mail_ascii_attachments 配置項是十分有用的

註冊 mail

from flask import flask

from flask_mail import mail

傳送簡單郵件

from flask_mail import message

from . import mail

def send_email(subject,to,content):

mail.send(message)

if __name__ == "__main__":

send_email("jim給你發郵件啦",[email protected],"嘿嘿,這是我使用flask-mail給你傳送的郵件哦!")

當然上面只是我們乙個簡單的發郵件程式,我們還可以使用模板傳送固定形式的資料。

傳送模板郵件

【templates/mail.html】

這個程式在上述檔案上進行編寫

from flask import render_template

def send_template_data(subject,to):

message.html=render_template("mail.html",to_mail=to)

mail.send(message)

if __name__ == "__main__":

send_email("jim給你發郵件啦",[email protected])

還可以傳送附件

def send_template_data(subject,to):

with open('img.png') as f:

message.attach(img.png,image/png,f.read())

mail.send(message)

Flask外掛程式系列 Flask Mail

簡介 給使用者傳送郵件是 web 應用中最常見的任務之一,比如使用者註冊,找回密碼等。python 內建了乙個 smtplib 的模組,可以用來傳送郵件,這裡我們使用 flask mail,是因為它可以和 flask 整合,讓我們更方便地實現此功能。安裝 使用 pip 安裝 pip install ...

Flask學習筆記(十六)Flask Mail

flask mail 在開發過程中,很多應用程式都需要通過郵件提醒使用者,flask的擴充套件包flask mail通過包裝了python內建的smtplib包,可以用在flask程式中傳送郵件。flask mail連線到簡單郵件協議 mail transfer protocol,smtp 伺服器,...

Flask Mail簡單配置

對於新手來說,學習新的東西,最重要的是正確性。而這種博文是稀缺的 本文參考 資料 settings.py class email mail server smtp.163.com 使用的郵箱伺服器 mail port 465 埠 支援ssl一般為465,預設為25 mail use ssl true...