zoukankan      html  css  js  c++  java
  • flask debug=false时,flask mail如何获取smtplib的debug日志(flask mail获取邮件发送结果)

    在用flask mail发送邮件时,如果debug设置为False时,发现flask mail发送邮件时没有打印日志信息,就是reply:... send:....之类的

    调查了flask mail源码,发现flask mail发送邮件通过对smtplib模块的封装实现的,在调用smtplib发送邮件之前,会传入一个debug级别参数,如果级别很低,smtplib就不会打印日志了

    如果flask的debug设为False时,在mail.init_app(app)时,传入的debug参数默认就是0,所以smptblib不会打印日志

    我们可以通过app.config中设置MAIL_DEBUG参数为1或更高级别来解决这个问题

    分析过程:

    flask mail发送邮件之前会设置mail.debug级别

     

    该debug级别实在init_app方法中进行设置的,参数是app.config中的MAIL_DEBUG属性

    如果flask的debug为False时,MAIL_DEBUG默认就会取0

     

    smtplib中,判断debuglevel的值,如果大于0才会做打印。

     

    app.config加入MAIL_DEBUG参数为1,smtplib模块即可打印邮件发送日志,这样就可以获取smtplib的标准输出和标准错误输出对象的内容

     

  • 相关阅读:
    206.反转链表
    gprof
    Java【Stream流、方法引用】学习笔记
    Java【函数式接口(Supplier、Comsumer、Predicate、Function)】学习笔记
    Python exec 内置语句
    Python sorted() 函数
    Python oct() 函数
    Python id() 函数
    Python dir() 函数
    软件测试的方法
  • 原文地址:https://www.cnblogs.com/xiaxiaoxu/p/14031511.html
Copyright © 2011-2022 走看看