Python案例:将报警信息实时发送至邮箱

来自CloudWiki
跳转至: 导航搜索

代码

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


subject= "这是主题:S01号系统报警"
contents ="CPU占比过高"

def mail(subject,contents):
    #subject:主题
    #contents:正文
    # 第三方 SMTP 服务
    mail_host = "smtp.qq.com"  # 设置服务器
    mail_user = "maxin5452@qq.com"  # 用户名
    mail_pass = "aaaaaaaaaaa"  # 口令

    sender = "maxin5452@qq.com"
    receivers = ["458976849@qq.com", "2831036889@qq.com"]  # 接收邮件,可设置为你的QQ邮箱或者其他邮箱

    message = MIMEText(
        contents,
        "plain",
        "utf-8",
    )  # 构造正文
    message["From"] = sender  # 发件人,必须构造,也可以使用Header构造
    message["To"] = ";".join(receivers)  # 收件人列表,不是必须的
    message["Subject"] = subject

    try:
        smtpObj = smtplib.SMTP()
        smtpObj.connect(mail_host, 25)  # 25 为 SMTP 端口号
        smtpObj.login(mail_user, mail_pass)
        smtpObj.sendmail(sender, receivers, message.as_string())
        print("发送成功")
    except smtplib.SMTPException as e:
        print(f"发送失败,错误原因:{e}")

if __name__=='__main__':
    subject= "这是主题:S01号系统报警"
    contents ="CPU占比过高"
    mail(subject,contents)


拓展

大家可把此模块与系统监控模块、文件监控模块相结合