flask-mail的使用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了flask-mail的使用相关的知识,希望对你有一定的参考价值。

说明

来源: flask web开发第六章
??很多类型的应用程序都需要在特定事件发生时提醒用户,而常用的通信方法是电子邮件。 虽然 Python 标准库中的 smtplib 包可用在 Flask 程序中发送电子邮件,但包装了 smtplib 的 Flask-Mail 扩展能更好地和 Flask 集成

1、flask-mail smtp服务器设置

    MAIL_SERVER     127.0.0.1   邮件服务器
    MAIL_PORT       25      电子邮件服务器的端口
    MAIL_USE_TLS    False   启用传输层安全协议
    MAIL_USE_SSL    False   启用安全套接层协议
    MAIL_USERNAME   None    邮件账户的用户名
    MAIL_PASSWORD   None    邮件账户的密码

    这一堆忘了没关系, 直接导入 from flask-mail  按ctrl+鼠标左键,然后查找 init_mail 

技术分享图片

2、安装

安装 : pip install flask-mail
或者 : ide安装
        file --> settings --> project --> project interpreter --> 点+号 直接搜flask-mail安装

3、准备

     环境: windows 7  
     python版本: 3.6
     开发工具: pycharm

  配置文件中的密码帐号应直接保存在环境变量中,因为开源之后可能会暴露
    1、windows 环境变量
        set MAIL_USER="[email protected]"
        set MAIL_PASSWD="youpassword"
        查看 echo %MAIL_USER%

  2、linux环境变量
      export MAIL_USER="[email protected]"
      export MAIL_PASSWD="youpassword"
      查看 echo $MAIL_USER

3.1、先来一封简单邮件

目录结构:  conf.py  与 start.py 
1、conf.py配置
    from flask import Flask

    app = Flask(__name__)

    app.config[‘MAIL_SERVER‘] = "smtp.xx.com"
    app.config[‘MAIL_PORT‘] = 25
    app.config[‘MAIL_USE_TLS‘] = True
    app.config["MAIL_USERNAME"] = os.environ.get(‘MAIL_USER‘)
    app.config["MAIL_PASSWORD"] = os.environ.get("MAIL_PASSWD")

2、start.py
    from conf import app
    from flask_mail import  Mail, Message

    mail = Mail(app)

    msg = Message("test subject", sender=‘[email protected]‘,
                                recipients=["要发送的邮箱@mail.com", ])      # 这里要注意 是列表

    msg.body = "test"
    msg.html = ‘<b> html </html> body‘

    with app.app_context():
            mail.send(msg)

3、运行效果

??技术分享图片

以上是关于flask-mail的使用的主要内容,如果未能解决你的问题,请参考以下文章

Flask-Mail 尝试连接到 Gmail 时超时

使用flask-mail发送电子邮件时出现的问题

使用flask-mail通过gmail发送电子邮件

使用flask-mail扩展发送邮件

Flask-Mail使用config.from_object()时无法读取配置

配置 Flask-Mail 以使用 GMail