问题已经出现在网站上:Collate output in Python logging MemoryHandler with SMTPHandler
它是9年前添加的,它涉及python的旧版本。
SMTPHandler分别发送每个带有logging.info('msg')的电子邮件
这是针对SMTPHandler类的,该类位于logging.handlers模块logging.info()中,位于logging模块中 smtplib模块中的smtplib.SMTP_SSL或smtplib.SMTP
import logging
from logging.handlers import SMTPHandler
import smtplib
smtp = smtplib.SMTP_SSL('host', 465)
smtp.ehlo()
smtp.login('login', 'password')
mail_handler = SMTPHandler(mailhost='host', fromaddr='email', toaddrs=['email'], subject='Msg', credentials=('login','password'), secure=())
logging.basicConfig(handlers=[mail_handler], level=logging.INFO, format='%(asctime)s - %(message)s')
logging.info('msg')
smtp.quit()
我想不时收到一封包含所有logging.info消息的电子邮件