>  기사  >  백엔드 개발  >  Python에서 이메일 전송 로그를 구성하는 방법은 무엇입니까?

Python에서 이메일 전송 로그를 구성하는 방법은 무엇입니까?

PHPz
PHPz앞으로
2023-04-26 17:28:081617검색

Python에서 이메일 전송 로그를 구성하는 방법은 무엇입니까?

며칠 전 그룹에서 누군가가 Python 구성 이메일 전송 로그에 관해 질문을 했습니다. 꽤 지식이 풍부한 것 같아서 앞으로 함정을 피하기 위해 여기에 기록하겠습니다.

  • Python의 login.handlers.SMTPHandler 메서드를 사용하여 지정된 사서함으로 로그를 보낼 수 있습니다. 예전에는 163개의 메일함 구성 매개변수를 사용해서 안심하고 사용할 수 있었는데, QQ 회사 메일함을 사용하면 자꾸 로그인 시간이 초과됐다고 오류가 뜹니다.

Python에서 이메일 전송 로그를 구성하는 방법은 무엇입니까?

마지막으로 로깅의 소스 코드를 읽어보니 이유를 찾았습니다. 로깅은 QQ 비즈니스 메일함과 Gmail 모두 기본적으로 SSL 연결을 지원합니다.

Python에서 이메일 전송 로그를 구성하는 방법은 무엇입니까?

  • 마지막으로 첨부한 것은 간단한 구성입니다
# 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 ~')


위 내용은 Python에서 이메일 전송 로그를 구성하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 51cto.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제