1. 程式人生 > >flask_email實現QQ郵箱傳送郵件

flask_email實現QQ郵箱傳送郵件

直接上程式碼

from flask import Flask
from flask_mail import Mail, Message
from threading import Thread
#使用執行緒程式設計實現非同步傳送,否則服務就會卡主,如果是web的話在傳送完成之前網頁是loading狀態

app = Flask(__name__)
app.config.update(dict(
    DEBUG = True,
    MAIL_SERVER = 'smtp.qq.com',
    MAIL_PORT = 465,
    MAIL_USE_TLS = False,
    MAIL_USE_SSL = True
, MAIL_PASSWORD = '**********',#看下面第一張圖 MAIL_USERNAME = '**********@qq.com' )) mail = Mail(app) def send_async_email(app,msg): with app.app_context(): mail.send(msg) def SendMail(): msg = Message('This is a mail from QQ SMTP HOST',sender='**********@qq.com',\ recipients=["**********@163.com"
]) msg.body = 'From QQ' msg.html = '<b>Halo the world!</b>' thr = Thread(target=send_async_email,args=[app,msg]) thr.start() return 'ok' SendMail()

基本郵件配置解釋(https://github.com/lavr/flask-emails):
這裡寫圖片描述
對於MAIL_PASSWORD 這一項所填的並不是你的郵箱登入密碼,而是登入第三方客戶端郵箱的授權碼,對於QQ郵箱可以根據下圖來生成授權碼(設定-》賬戶-》下圖第二個箭頭所指區域)
這裡寫圖片描述

執行示例截圖:

顯示傳送過程
這裡寫圖片描述

傳送成功,Bye
這裡寫圖片描述

登入郵箱查收
這裡寫圖片描述