Flask 傳送電子郵件
阿新 • • 發佈:2020-10-12
使用163郵箱作為郵件傳送郵箱,使用qq郵箱接收電子郵件
from flask import Flask from flask_mail import Mail, Message app = Flask(__name__) # 給flask配置檔案新增配置資訊 # 這個配置資訊類似一個字典,可以追加資料 app.config.update( DEBUG = True, MAIL_SERVER='smtp.163.com', MAIL_PORT=465, MAIL_USE_TLS = False, # SSL(Security Socket Layer,安全套接字層)和TLS(Transport Layer Sceurity,傳輸層安全)是兩種常用的電子郵件安全協議 MAIL_USE_SSL = True, MAIL_USERNAME = '[email protected]', MAIL_PASSWORD = 'xxx', # 授權碼而不是郵箱登入密碼。 ) # 建立郵件物件工具 mail = Mail(app) # 非同步傳送電子郵件 from threading import Thread def send_async_email(app,msg): mail.send(msg) def send_email(subject, sender, recipients, text_body, html_body): msg = Message(subject, sender=sender, recipients=recipients) # # sender 傳送方郵箱,recipients 接受方郵箱列表 msg.body = text_body # 純文字資訊 msg.html = html_body # HTML格式的資訊 Thread(target=send_async_email,args=(app,msg)).start() @app.route('/email') def index(): send_email('test subject',app.config['MAIL_USERNAME'],['[email protected]'], 'text body','<b>HTML</b> body') return '傳送成功' if __name__ == '__main__': app.run(port=5001, debug=True)