社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

Python配置邮件发送日志

马哥Linux运维 • 3 年前 • 368 次点击  


前几有人在群里问,说了一些关于Python配置邮件发送日志,我感觉挺涨知识的,所以在这里就记录一下以便日后自己使用避坑。

  • 我们可以使用Pythonlogging.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=INFOhandlers=consoleHandler,fileHandler
[logger_test]level=INFOhandlers=testHandlerqualname=testpropagate=0
[handler_consoleHandler]class=StreamHandlerlevel=INFOformatter=simpleFormatterargs=(sys.stdout,)
[handler_fileHandler]class=FileHandlerlevel=INFOformatter=simpleFormatterargs=('log/spider_db.log', 'a')
[handler_testHandler]class=handlers.SMTPHandlerlevel=INFOformatter=simpleFormatterargs=(('smtp.163.com',25), 'username@163.com', ['somebody01@example.com','somebody02@example.com'], 'Test SMTPHandler', ('username', 'password'))python# 邮件测试例子import loggingimport logging.config
logging.config.fileConfig("logging.conf")logger = logging.getLogger('test')logger.info('hello body ~')

原文链接:https://www.escapelife.site/posts/9730226a.html

文章转载:Python编程学习圈
(版权归原作者所有,侵删)

点击下方“阅读原文”查看更多

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/126502
 
368 次点击