美文网首页
Flask-mail 发送邮件

Flask-mail 发送邮件

作者: icecrea | 来源:发表于2017-07-28 21:23 被阅读32次

配置 app 对象的邮件服务器地址,端口,用户名和密码等
创建一个 Mail 的实例:mail = Mail(app)
创建一个 Message 消息实例,有三个参数:邮件标题、发送者和接收者
创建邮件内容,如果是 HTML 格式,则使用 msg.html,如果是纯文本格式,则使用 msg.body
最后调用 mail.send(msg) 发送消息
记得设置好mail_username,mail_password两个值在环境变量中。


image.png
from flask import Flask,request
from flask_mail import Mail,Message
import os
app=Flask(__name__)

app.config['MAIL_SERVER']='smtp.qq.com'
app.config['MAIL_PORT']=25
app.config['MAIL_USE_TLS']=True
#app.config['MAIL_USERNAME']='xxx'
#app.config['MAIL_PASSWORD']='xxx'
app.config['MAIL_USERNAME']=os.environ.get('MAIL_USERNAME')
app.config['MAIL_PASSWORD']=os.environ.get('MAIL_PASSWORD')

mail=Mail(app)

@app.route('/')
def index():
    return app.config['MAIL_PASSWORD']

@app.route('/sendmail/')
def sendmail():
    msg=Message('Hi',sender='798167096@qq.com',recipients=['240990723@qq.com'])
    msg.html='<b>hello web</b>'
    mail.send(msg)
    return '<h1>ok!</h1>'

@app.route('/user/<name>')
def user(name):
    return '<h1>hello ,%s!</h1>'%name

if __name__=='__main__':
    app.run(debug=True)

异步发送
避免发送邮件过程中出现的延迟,我们把发送邮件的任务移到后台线程中。创建了一个线程,执行的任务是send_async_email


def send_sync_email(app,msg):
    with app.app_context():
        mail.send(msg)

@app.route('/sync/')
def sendmailsync():
    msg=Message('Hi',sender='798167096@qq.com',recipients=['icecrea@yeah.net'])
    msg.html='<b>send this sync</b>'
    thr=Thread(target=send_sync_email,args=[app,msg])
    thr.start()
    return '<h1>send sync ok!</h1>'

相关文章

  • Flask-Mail 发送邮件

    Flask 发送邮件 @(Flask)[Flask开发|Flask-Mail] 使用flask-mail扩展发送电...

  • 2018-04-26 flask-mail

    flask-mail 1、安装 pip install flask-mail 2、配置 3、异步发送邮件

  • Flask Web开发学习笔记(五)

    本文主要介绍,如何使用Flask-Mail发送邮件。 Flask-Mail连接到简单邮件传输协议(SMTP)服务器...

  • 6.电子邮件

    涉及的包 Flask-Mail SendGrid-python 6.1使用Flask-mail发送邮件 6.1.1...

  • flask-邮件发送

    利用flask-mail实现邮件发送 qq邮箱版 网易邮箱版

  • Flask邮件发送

    1、Flask通过flask-mail插件支持邮件发送pip install flask-mailpip i...

  • Flask-mail 发送邮件

    配置 app 对象的邮件服务器地址,端口,用户名和密码等创建一个 Mail 的实例:mail = Mail(app...

  • flask-mail发送邮件

    Flask-Mail是一个对python smtplib进行封装以便集成到Flask提供发送邮件支持的模块。在学习...

  • flask-mail 发送邮件

    首先我们现在qq里面开通发送邮件服务先 首先点开qq邮箱设置这里 然后点击账户这里,一直往下拉,找到开通 发送邮箱...

  • Flask-mail测试和遇到的问题

    导语 今天在尝试 Flask-Mail 发送邮件的过程中,遇到一个小问题导致发送邮件失败,查到了半天问题,真是被自...

网友评论

      本文标题:Flask-mail 发送邮件

      本文链接:https://www.haomeiwen.com/subject/iogflxtx.html