zoukankan      html  css  js  c++  java
  • Flask 发送电子邮件

    使用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 = 'xxx@163.com',
        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'],['xxx@qq.com'], 'text body','<b>HTML</b> body')
        return '发送成功'
       
     
    if __name__ == '__main__':
        app.run(port=5001, debug=True)
    
  • 相关阅读:
    mysql性能优化
    jdbc connectoin timeout
    java thread dump
    sso实现原理
    api的防重放机制
    java各版本新特性总结
    sql区分大小写的查询
    按分数排名
    MySql常用语句
    mysql之explain用法
  • 原文地址:https://www.cnblogs.com/leimu/p/13802249.html
Copyright © 2011-2022 走看看