flask封装的flask-mail非常易于发送邮件,简单易用。
邮件是同过Mail实例进行管理的:
from flask_mail import Mail把mail实例注册到flask中去,当然你也可以使用 mail.init_app( ) 去注册 , 2中方式,第二种方式用的多!
app = Flask(__name__) mail = Mail( app ) app = Flask(__name__) mail = Mail() mail.init_app(app)
发送邮件需要创建一个Message实例,Message类也是需要从flask_mail中导入的;
在视图函数中,初始化Message类,参数:
参数一 : 发送邮件的名称。
参数二 : sender = "xxx" 这个关键字参数需要填写发送者的邮箱,实际开发中,一般填写企业邮箱!
参数三 : body="template" 这个关键字参数是邮件的正文内容,通常会是一个html模板。
参数四 : recipients = [ " to_1@qq.com " , " to_2@qq.com " ] , 发送给谁,(接收人)列表里传入多个邮箱。
from flask_mail import Message @app.route('/send') def send(): msg = Message("Email-title",sender="from@qq.com",body="template",recipients=["to@qq.com"]) mail.send(msg) # 最后,使用实例中send方法发送邮件 return 'SEND SUCCESS!'当然上边的sender关键字参数去掉,在配置文件中使用默认发送人:
MAIL_DEFAULT_SENDER = "from@qq.com"打开qq邮箱,在设置里边,点击账户,
下拉找到下边这里,点击生成授权码,(如果没有温馨提示,在POP3/SMTP服务 (如何使用 Foxmail 等软件收发邮件?)右边点击开启),会让你用手机发送一条短息,成功后会给你一个一个授权码,把这个授权码填写到配置文件 中的去即可:
信息发送成功,获得的授权码!