【发布时间】:2020-03-13 11:58:45
【问题描述】:
我想做的是创建一个单独的记录器,它将通过电子邮件发送错误日志。 但是,每次调用email_logger.error('...'),都会出现以下错误:
smtplib.SMTPNotSupportedError: 服务器不支持 SMTP AUTH 扩展。
我使用的代码如下所示:
logging.basicConfig(level=logging.INFO, format='%(asctime)s :: %(funcName)s :: %(levelname)s :: %(message)s')
email_logger = logging.getLogger(__name__)
email_logger.setLevel(logging.WARNING)
with smtplib.SMTP('smtp.gmail.com', 587) as server:
server.ehlo()
server.starttls()
server.ehlo()
server.login('host_email@gmail.com', r'thisismypassword')
smtp_handler = logging.handlers.SMTPHandler(mailhost=('smtp.gmail.com', 587),
fromaddr='host_email@gmail.com',
toaddrs=['mymail@gmail.com'],
subject='A dashing subject',
credentials=('host_email@gmail.com',
r'thisismypassword'),
secure=None)
formatter = logging.Formatter('%(asctime)s : %(funcName)s : %(levelname)s : %(name)s : %(message)s')
smtp_handler.setFormatter(formatter)
email_logger.addHandler(smtp_handler)
【问题讨论】:
标签: python email logging handler smtplib