Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk mengkonfigurasi log penghantaran e-mel dalam Python?

Bagaimana untuk mengkonfigurasi log penghantaran e-mel dalam Python?

PHPz
PHPzke hadapan
2023-04-26 17:28:081765semak imbas

Bagaimana untuk mengkonfigurasi log penghantaran e-mel dalam Python?

Seseorang bertanya dalam kumpulan beberapa hari lalu dan mengatakan sesuatu tentang log penghantaran e-mel konfigurasi Python Saya rasa ia cukup berpengetahuan, jadi saya akan merekodkannya di sini supaya saya boleh mengelak perangkap di masa hadapan.

  • Kami boleh menggunakan kaedah logging.handlers.SMTPHandler Python untuk menghantar log ke peti mel yang ditentukan. Saya pernah menggunakan 163 parameter konfigurasi peti mel sebelum ini dan saya boleh menggunakannya dengan yakin, tetapi apabila saya menggunakan peti mel korporat QQ, saya terus mendapat ralat, selalu mengatakan bahawa log masuk telah tamat masa.

Bagaimana untuk mengkonfigurasi log penghantaran e-mel dalam Python?

Akhirnya, saya menemui sebabnya dengan membaca kod sumber pengelogan menyokong sambungan TLS secara lalai.

Bagaimana untuk mengkonfigurasi log penghantaran e-mel dalam Python?

  • Akhir sekali, konfigurasi mudah dilampirkan
# 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 ~')


Atas ialah kandungan terperinci Bagaimana untuk mengkonfigurasi log penghantaran e-mel dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:51cto.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam