首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >发送邮件时禁用Flask-Mail中的日志记录

发送邮件时禁用Flask-Mail中的日志记录
EN

Stack Overflow用户
提问于 2019-10-10 01:46:51
回答 1查看 790关注 0票数 3

当通过Flask-Mail发送任何消息时,如下图所示,带有mail.send(msg)的最后一行也将导致邮件标题和内容被记录。

代码语言:javascript
复制
Message("Hello", sender="from@example.com", recipients=["to@example.com"])
msg.body = 'anything'
mail.send(msg)

因为我的邮件可能包含敏感信息,所以我想完全禁用此日志记录。然而,在使用日志记录模块时,我找不到为Flask-Mail配置的记录器。

如何禁用Flask-Mail中的日志记录?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-10-10 16:02:56

解决了这个问题:

Flask-Mail使用Python的smtplib发送邮件。smtplib不使用日志记录模块,但它将调试信息打印到stderr。

smtplib包括以下方法:

代码语言:javascript
复制
def set_debuglevel(self, debuglevel):
    """Set the debug output level.

    A non-false value results in debug messages for connection and for all
    messages sent to and received from the server.

    """
    self.debuglevel = debuglevel

如果我们使用Flask-Mail,我们可以在初始化应用程序时设置这个变量,如下所示:

代码语言:javascript
复制
app = Flask(__name__)
mail = Mail(app)
app.extensions['mail'].debug = 0

任何输出现在都会被抑制。

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58309600

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档