zoukankan      html  css  js  c++  java
  • flask邮件发送

    安装flask-mail

    pip3 install flask-mail

    开启smtp服务

    发送邮件

    from flask import Flask, render_template
    from flask.ext.mail import Mail, Message
    import os
    
    app = Flask(__name__)
    app.config.update(
        DEBUG = True,
        MAIL_SERVER='smtp.126.com',
        MAIL_PROT=25,
        MAIL_USE_TLS = True,
        MAIL_USE_SSL = False,
        MAIL_USERNAME = 't2514553187@126.com',
        MAIL_PASSWORD = 'xxxxxxxxxxx',
        MAIL_DEBUG = True
    )
    
    mail = Mail(app)
    
    def send_email(subject, sender, recipients, text_body, html_body):
        msg = Message(subject, sender, recipients)
        msg.body = text_body
        msg.html = html_body
        mail.send(msg)
    
    
    @app.route('/')
    def index():
    # sender 发送方哈,recipients 邮件接收方列表
        msg = Message("Hi!This is a test ",sender='t2514553187@126.com', recipients=['2514553187@qq.com'])
    # msg.body 邮件正文
        msg.body = 'wocaonima'
        msg.html = "<a href='http://www.baidu.com'>This is a first email1111</a>"
    # msg.attach 邮件附件添加
    
        mail.send(msg)
        return "Sent"
    
    if __name__ == "__main__":
        app.run()
    

    发送附件

    from flask import Flask, render_template
    from flask.ext.mail import Mail, Message
    
    app = Flask(__name__)
    app.config.update(
        DEBUG = True,
        MAIL_SERVER='smtp.126.com',
        MAIL_PROT=25,
        MAIL_USE_TLS = True,
        MAIL_USE_SSL = False,
        MAIL_USERNAME = 't2514553187@126.com',
        MAIL_PASSWORD = 'sishen44448888',
        MAIL_DEBUG = True
    )
    
    mail = Mail(app)
    
    def send_email(subject, sender, recipients, text_body, html_body):
        msg = Message(subject, sender, recipients)
        msg.body = text_body
        msg.html = html_body
        mail.send(msg)
    
    
    @app.route('/')
    def index():
    # sender 发送方哈,recipients 邮件接收方列表
        msg = Message("Hi!This is a test ",sender='t2514553187@126.com', recipients=['2514553187@qq.com'])
    # msg.attach 邮件附件添加
    # msg.attach("文件名", "类型", 读取文件)
        with app.open_resource("./stu.png") as fp:
            msg.attach("image.jpg", "image/jpg", fp.read())
    
        mail.send(msg)
        return "Sent"
    
    if __name__ == "__main__":
        app.run()
    

    异步发送邮件

    from flask import Flask, render_template
    from flask.ext.mail import Mail, Message
    from threading import Thread
    
    def async(f):
        def wrapper(*args, **kwargs):
            thr = Thread(target = f, args = args, kwargs = kwargs)
            thr.start()
        return wrapper
    
    app = Flask(__name__)
    app.config.update(
        DEBUG = True,
        MAIL_SERVER='smtp.126.com',
        MAIL_PROT=25,
        MAIL_USE_TLS = True,
        MAIL_USE_SSL = False,
        MAIL_USERNAME = 't2514553187@126.com',
        MAIL_PASSWORD = 'sishen44448888',
        MAIL_DEBUG = True
    )
    import time
    mail = Mail(app)
    
    @async
    def send_async_email(msg):
        time.sleep(10)
        with app.app_context():
            mail.send(msg)
    
    def send_email(subject, sender, recipients, text_body, html_body):
        msg = Message(subject, sender = sender, recipients = recipients)
        msg.body = text_body
        msg.html = html_body
        send_async_email(msg)
    
    @app.route('/')
    def index():
        send_email("This is a test", sender='t2514553187@126.com', recipients=['2514553187@qq.com'],
                   text_body='nihao', html_body="<a href='http://www.baidu.com'>This is a first email</a>")
        return "Sent"
    
    if __name__ == "__main__":
        app.run()
    
  • 相关阅读:
    The Quad
    将OrCAD Capture CIS的设计文件(.dsn)导入到PADS Logic VX.2.3
    OrCAD Capture CIS 16.6 将版本16.6的设计文件另存为版本16.2的设计文件
    Eclipse IDE 添加jar包到Java工程中
    PADS Logic VX.2.3 修改软件界面语言
    切换Allegro PCB Editor
    Allegro PCB Design GXL (legacy) 将brd文件另存为低版本文件
    Allegro PCB Design GXL (legacy) 设置自动保存brd文件
    Could not create an acl object: Role '16'
    windows 下apache开启FastCGI
  • 原文地址:https://www.cnblogs.com/longyunfeigu/p/9284777.html
Copyright © 2011-2022 走看看