2018-04-26 flask-mail

flask-mail

1、安装

pip install flask-mail

2、配置

app.config['MAIL_SERVER'] = 'smtp.qq.com'  #qq邮箱发送邮件服务器
app.config['MAIL_PORT'] = 465 # 端口号为465或587
app.config['MAIL_USE_SSL'] = True #qq邮箱需使用ssl,默认为Flase
app.config['MAIL_USERNAME'] = '[email protected]' #发件箱用户名
app.config['MAIL_PASSWORD'] = 'xxxxxxxxxx' #填写授权码
app.config['MAIL_DEFAULT_SENDER'] = '[email protected]'#默认发送邮箱
mail = Mail(app)

3、异步发送邮件

def send_async_email(app, msg):
'''很多 Flask 扩展都假设已经存在激活的程序上下文和请求
上下文。Flask-Mail 中的 send() 函数使用 current_app ,
因此必须激活程序上下文。不过,在不同线程中执行 
mail.send() 函数时,程序上下文要使用 app.app_context() 人工创建。'''
   
  with app.app_context():
        mail.send(msg)
def index():
    msg = Message(subject='Hello World',
                  sender="[email protected]",  # 需要使用默认发送者则不用填
                  recipients=['[email protected]'])
    # 邮件内容会以文本和html两种格式呈现,而你能看到哪种格式取决于你的邮件客户端。
    msg.body = 'sended by flask-email'
    msg.html = '测试Flask发送邮件'
    thread = Thread(target=send_async_email, args=[app, msg])
    thread.start()
    return '

邮件发送成功

'

你可能感兴趣的:(2018-04-26 flask-mail)