Python配置邮件发送日志

发表于:2022-2-07 09:20

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:佚名    来源:马哥Linux运维

  前几有人在群里问,说了一些关于Python配置邮件发送日志,我感觉挺涨知识的,所以在这里就记录一下以便日后自己使用避坑。
  我们可以使用Python的logging.handlers.SMTPHandler方法,把日志发送到指定的邮箱。之前使用 163 邮箱配置参数之后可以放心使用,但是使用QQ的企业邮箱却一直报错,总是说登录超时。
  最后通过阅读logging的源码找到了原因,logging默认支持TLS连接,QQ企业邮箱和Gmail都是使用SSL连接的。
  最后附上一个简单的配置:
  # logging.conf完整配置
  [loggers]
  keys=root,test
  [handlers]
  keys=consoleHandler,fileHandler,testHandler
  [formatters]
  keys=simpleFormatter
  [formatter_simpleFormatter]
  format=%(asctime)s - %(name)s - %(levelname)s - %(message)s - [%(filename)s:%(lineno)s]
  datefmt=
  [logger_root]
  level=INFO
  handlers=consoleHandler,fileHandler
  [logger_test]
  level=INFO
  handlers=testHandler
  qualname=test
  propagate=0
  [handler_consoleHandler]
  class=StreamHandler
  level=INFO
  formatter=simpleFormatter
  args=(sys.stdout,)
  [handler_fileHandler]
  class=FileHandler
  level=INFO
  formatter=simpleFormatter
  args=('log/spider_db.log', 'a')
  [handler_testHandler]
  class=handlers.SMTPHandler
  level=INFO
  formatter=simpleFormatter
  args=(('smtp.163.com',25), 'username@163.com', ['somebody01@example.com','somebody02@example.com'], 'Test SMTPHandler', ('username', 'password'))
  python
  # 邮件测试例子
  import logging
  import logging.config
  logging.config.fileConfig("logging.conf")
  logger = logging.getLogger('test')
  logger.info('hello body ~')


  本文内容不用于商业目的,如涉及知识产权问题,请权利人联系51Testing小编(021-64471599-8017),我们将立即处理
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号