Python 邮件发送日志配置

2024-12-31 03:08:05   小编

Python 邮件发送日志配置

在 Python 开发中,配置邮件发送日志功能可以帮助我们及时获取程序运行的关键信息,方便进行问题排查和监控。下面将详细介绍如何实现 Python 邮件发送日志配置。

我们需要导入所需的模块。Python 中的 smtplib 模块用于发送邮件,logging 模块用于处理日志。

import smtplib
import logging
from email.mime.text import MIMEText

接下来,设置邮件服务器的相关信息,包括服务器地址、端口、用户名和密码。

SMTP_SERVER ='smtp.example.com'
SMTP_PORT = 587
USERNAME = 'your_username'
PASSWORD = 'your_password'

然后,定义一个函数用于发送邮件。

def send_email(subject, message):
    msg = MIMEText(message)
    msg['Subject'] = subject
    msg['From'] = USERNAME
    msg['To'] = 'recipient@example.com'

    try:
        server = smtplib.SMTP(SMTP_SERVER, SMTP_PORT)
        server.starttls()
        server.login(USERNAME, PASSWORD)
        server.sendmail(USERNAME, ['recipient@example.com'], msg.as_string())
        server.quit()
    except Exception as e:
        print(f"邮件发送失败: {e}")

接下来,配置日志记录器。

logger = logging.getLogger('my_logger')
logger.setLevel(logging.INFO)

handler = logging.handlers.SMTPHandler(
    mailhost=(SMTP_SERVER, SMTP_PORT),
    fromaddr=USERNAME,
    toaddrs=['recipient@example.com'],
    subject='Python 程序运行日志'
)

handler.setFormatter(logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s'))
logger.addHandler(handler)

现在,我们可以在代码中使用日志记录器来记录关键信息,并通过邮件发送。

logger.info("程序开始运行")
# 此处添加您的程序逻辑
logger.error("出现错误")

通过以上配置,当程序中记录的日志达到一定级别(如 INFOERROR )时,将会自动发送邮件通知相关人员。

需要注意的是,在实际应用中,要确保提供的邮件服务器信息准确无误,并且您的邮箱账号具备发送邮件的权限。还可以根据具体需求进一步优化邮件的内容和格式,以及日志记录的级别和规则,以满足不同的项目要求。

通过 Python 实现邮件发送日志配置,可以提高程序的可维护性和稳定性,让我们能够更加及时有效地处理程序运行中的问题。

TAGS: Python 邮件发送 Python 日志配置 邮件发送设置 日志配置优化

欢迎使用万千站长工具!

Welcome to www.zzTool.com