• 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的标准输出和标准错误输出对象的内容

     

  • 相关阅读:
    电路的耦合方式
    PCBA与PCB的区别
    vue记住密码功能
    数组变异
    element时间选择器插件转化为YYYY-MM-DD的形式
    box-shadow
    从后台传select的值
    jQuery事件(持续更新中)
    JavaScript对象(持续更新中)
    15分XX秒后订单自动关闭(倒计时)
  • 原文地址:https://www.cnblogs.com/xiaxiaoxu/p/14031511.html
Copyright © 2020-2023  润新知