轻描淡写两三句,flask_mail

  • 实例

    # encoding:utf8

    """
      flask_mail实现邮件的发送
    """

    from flask  import  Flask
    from  flask_mail   import   Message,  Mail# Message构建消息对象,   Mail完成发送

    # 实例化
    app = Flask(__name__ )

    # 1.配置
    app.config["MAIL_SERVER"] = "smtp.qq.com"
    app.config["MAIL_PORT"] =  465
    app.config["MAIL_USE_SSL"] = True
    app.config["MAIL_USE_TLS"] = False
    app.config["MAIL_USERNAME"] = "[email protected]"  # ("username", "qq_mail")# 字符串时是发件人邮箱, 元组会自动拆分成发件人昵称邮箱和邮箱
    app.config["MAIL_PASSWORD"] = "凭证"   # # QQ邮箱需要的凭证,不需要要密码
    app.config["MAIL_PASSWORD"] = "bruqfuzmmxwneccj"

    # 2.邮箱实例化 ,一定要在邮件配置的后面, 不然会报错10061
    mail = Mail( app )

    # 发送消息
    def send_msg():
       # 3.构建消息对象
       msg = Message( subject="测试邮件,请及时删除!",  
                       sender=app.config.get("MAIL_USERNAME"),
                       recipients=["[email protected]", "[email protected]"]
                      )
       # msg.html = """
       #         <b> 2021年3月23日 </b>
       #         html会覆盖body???
       # """
       msg.body = """
                  亲爱的陈:
                      这是测试邮件,请及时删除!
      """
       msg.charset = "utf-8"  # 邮件字符 ,非必须
       # 4. 发送邮件
       mail.send(  msg )  # 邮件发送消息



    @app.route("/")
    def   send_qq_mail():
       try:
           send_msg()
           return    "邮件发送成功! "
       except  Exception  as e:
           return     "邮件发送失败:%s !" % str(e)

    if __name__ == "__main__":
       app.run( debug=True )
  • 注意点:

    • msg.html会导致 msg.body不可见,原因未知

    • mail的实例化需要在邮件配置结束之后,不然会报错 10061

    • MAIL_PORT是邮箱服务器端口

相关文章

Jinja2:是Python的Web项目中被广泛应用的模板引擎,是由Pyt...
监听QQ消息并不需要我们写代码,因为市面上已经有很多开源QQ...
【Flask框架】—— 视图和URL总结
python+web+flask轻量级框架的实战小项目。登录功能,后续功...
有了这个就可以配置可信IP,关键是不需要企业认证,个人信息...