python傳送郵箱
阿新 • • 發佈:2018-12-07
一、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[View Code"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)
二、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): msgsend_email.py= 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])
2) 使用shell指令碼去呼叫python指令碼來進行傳送郵件
[[email protected] alertscripts]# cat send_email.sh #!/bin/sh /usr/bin/python3 /usr/local/zabbix/alertscripts/send_email.py $1 $2 $3
[[email protected] alertscripts]# chmod o+x send_email.sh