Flask-Mail

SMTP:Simple Mail Transfer Protocol

1、SMTP服务器配置

app.config['MAIL_SERVER'] = 'smtp.qq.com'  # Flask-Mail服务器的主机名或IP地址,这里用的QQ邮箱
app.config['MAIL_PORT'] = 587              # Flask-Mail服务器的端口,mail_use_tls端口号是587,mail_use_ssl 端口号是465
app.config['MAIL_USE_TLS'] = True          # 启用传输层安全(Transport Layer Security)协议,端口587
app.config['MAIL_USE_SSL'] = False         # 启用安全套接层(Secure Sockets Layer)协议,端口465
app.config['MAIL_USERNAME'] = '277956977@qq.com' # 邮件账户的用户名
app.config['MAIL_PASSWORD'] = '********' # 邮件账户的密码,这个在QQ邮箱的设置里拿到

 

2、初始化

mail = Mail(app)

 

3、在python shell中发送邮件

 

4、在程序中发送邮件

# -*- coding:utf-8 -*-
from flask import Flask
from flask_mail import Mail, Message

app = Flask(__name__)

app.config['MAIL_SERVER'] = 'smtp.qq.com'  # Flask-Mail服务器的主机名或IP地址,这里用的QQ邮箱
app.config['MAIL_PORT'] = 587                # Flask-Mail服务器的端口,mail_use_tls端口号是587,mail_use_ssl 端口号是465
app.config['MAIL_USE_TLS'] = True           # 启用传输层安全(Transport Layer Security)协议,端口587
app.config['MAIL_USE_SSL'] = False          # 启用安全套接层(Secure Sockets Layer)协议,端口465
app.config['MAIL_USERNAME'] = '277956977@qq.com' # 发送邮件账户的用户名
app.config['MAIL_PASSWORD'] = '****************' # 发送邮件账户的密码


mail = Mail(app)

@app.route('/')
def index():
    msg = Message('Hi', sender='277956977@qq.com', recipients=['18157253537@163.com'])
    msg.html = '<b>Hello Web</b>' #也可以通过render_template()函数渲染
    msg.body = 'The first3 email!'
    mail.send(msg)
    return '<h1>OK!</h1>'

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

 

5、异步发送

 

posted @ 2020-04-02 20:31  cheng4632  阅读(189)  评论(0)    收藏  举报