微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

轻描淡写两三句,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是邮箱服务器端口

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐