【loguru】【notifiers】配置ERROR级别邮件发送通知

完整代码

from loguru import logger
from notifiers import get_notifier

# 获取电子邮件通知器
notifier = get_notifier("email")

# 配置电子邮件通知参数
email_params = {
    "username": "xxxxx@163.com",		# 发送邮件的用户名,我这里用的163邮箱
    "password": "xxxxxxxxxx",	# 输入密码可能不行,需要用授权码,后续会提到	
    "from": "xxx@163.com",		# 发送邮件的邮箱
    "to": "xxxx@163.com",		# 接收邮件的邮箱
    "host": "smtp.163.com",		# 默认参数,直接复制就行
    "port": 465,				# 默认参数,直接复制就行	
    "tls": False,				# 默认参数,直接复制就行
    "ssl": True,  # 使用 SSL 加密连接	
    "subject": "Loguru Error Notification"	# 发送的邮件主题
}


# 定义一个函数,用于将错误日志发送到电子邮件
def send_email_notification(message):
    # 打印调试信息
    logger.debug(f"Preparing to send email with message: {message}")
    # 将错误日志消息作为邮件内容
    email_params["message"] = message
    # 返回值是响应信息
    response = notifier.notify(**email_params)
    # 打印相应信息
    logger.debug(f"Email send response: {response}")


# 配置 Loguru,将错误信息发送到电子邮件
def configure_logger():
    # 在日志中记录ERROR时,将触发 send_email_notification 函数来发送邮件通知。
    logger.add(send_email_notification, level="ERROR")


if __name__ == "__main__":
    configure_logger()
    try:
        1 / 0
    except ZeroDivisionError:
        logger.error("An error occurred: Division by zero")

配置163邮箱

因为国内的邮箱仅通过用户名密码是登录不上的,因为现在国内登录都需要手机号验证等二次验证,所以我们需要配置好IMAP/SMTPPOP3/SMTP
具体操作在网页版还不行,需要下载手机版的网易邮箱大师
在我->我的邮箱->三方登录管理中打开
在这里插入图片描述
打开后会给你一个登录的授权码,输入到password

  • 10
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值