python发送邮箱

一、Python发送邮件

import smtplib
from email.mime.text import MIMEText
def send(email_to,title,content):
    msg = MIMEText(content,"plain","utf-8")
    froms = "[email protected]"
    to_list = email_to.replace("\n","").split(",")
    print(to_list)
    msg["Subject"] = title      # 传参
    msg["From"] = froms         #  发件人
    msg["To"] = email_to              #  收件人
    server = smtplib.SMTP_SSL("smtp.qq.com",465)
    server.login(froms,"oylltctlxijogdbb")
    server.sendmail(froms,to_list,msg.as_string())
                # 发送人,收件人列表,    # 内容
    print("发送成功")
    server.quit()

title = "邮件报警测试"
content = """系统磁盘空间或内存可能快要满了"""
email_to = """
1257063655@qq.com
"""
if __name__ == '__main__':
    send(email_to,title,content)
View Code

二、zabbix实现邮件报警

1)添加python脚本文件

#! /usr/bin/env python3
# -*- coding: utf-8 -*-
import smtplib
import sys
from email.mime.text import MIMEText
def send_mail(email_to,title,content):
    msg = MIMEText(content,"plain","utf-8")
    froms = "[email protected]"
    to_list = email_to.replace("\n","").split(",")
    print(to_list)
    msg["Subject"] = title      # 传参
    msg["From"] = froms         #  发件人
    msg["To"] = email_to              #  收件人
    server = smtplib.SMTP_SSL("smtp.qq.com",465)
    server.login(froms,"oylltctlxijogdbb")
    server.sendmail(froms,to_list,msg.as_string())
    server.quit()

if __name__ == '__main__':
    send_mail(sys.argv[1], sys.argv[2], sys.argv[3])
send_email.py

 2) 使用shell脚本去调用python脚本来进行发送邮件

[root@zabbix alertscripts]# cat send_email.sh
#!/bin/sh
/usr/bin/python3 /usr/local/zabbix/alertscripts/send_email.py $1 $2 $3

[root@zabbix alertscripts]# chmod o+x send_email.sh 

猜你喜欢

转载自www.cnblogs.com/linu/p/10075702.html