Python使用QQ邮箱发送服务器通知的实现方案

唐可
唐可
发布时间:2026-10-13 | 3人浏览过
原创

本文介绍如何利用Python的smtplib库结合QQ邮箱SMTP服务,实现程序运行状态或中断时的自动邮件通知。通过封装Mail类处理登录与消息构建,只需配置授权码即可向指定收件人发送包含运行结果的HTML或纯文本邮件,有效替代人工值守屏幕监控。

Python实现服务器邮件通知的背景与原理

服务器数据处理任务往往耗时较长,通过程序自动发送电子邮件是一种低成本且高效的提醒机制。这种方式能够确保开发者在程序意外中断或任务顺利结束时立即收到通知,从而避免长时间盯着屏幕等待。下面以Python语言为例,展示具体的邮件发送实现代码。

邮件发送核心类封装


import smtplib
from email.mime.text import MIMEText
from email.header import Header

class Mail(object):
  def __init__(self,user,token):
    self.host = "smtp.qq.com"  # qq邮箱服务器地址
    self.user = user
    self.token = token
    self.sender = "1477517404@qq.com"
    self.subject = "服务器通知"
    self.smtpObj = smtplib.SMTP()
    self.smtpObj.connect(self.host, 25)
    self.smtpObj.login(user,token)


  def generate_message(self,message):
    self.message = MIMEText(message,'plain','utf-8')
    self.message['From'] = Header('计算中心','utf-8')
    self.message['To'] = Header('电商所的同学们','utf-8')
    self.message['Subject'] = Header(self.subject, 'utf-8')

  def send_to(self,receiver):
    try:
      self.smtpObj.sendmail(self.sender, receiver, self.message.as_string())
      print("邮件发送成功")
    except smtplib.SMTPException:
      print("Error: 无法发送邮件")

程序调用示例

在实际项目中调用该模块的方式如下所示:

主程序执行逻辑


# -*- coding: <utf-8> -*-
from ServerEmail import Mail
if __name__ == "__main__":
  email = Mail("1477517404@qq.com","******")  # QQ邮箱的账号 和token,token是从QQ邮箱网站中获取的授权码
  email.generate_message("程序已经运行完成,请尽快查看实验结果")
  email.send_to("m18356410249@163.com")

执行结果反馈

运行后的预期效果为:

总结与致谢

上述内容即为使用Python配合QQ邮箱发送通知的完整实现步骤,希望能对读者有所帮助。如有任何疑问,欢迎留言交流,小编将尽快回复。同时也感谢大家对本网站的支持。

相关标签:

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表