您好,欢迎来到小侦探旅游网。
搜索
您的当前位置:首页zabbixpython邮件脚本代码

zabbixpython邮件脚本代码

来源:小侦探旅游网

这篇文章介绍zabbix python邮件脚本代码

#!/usr/bin/env python
# -*- coding:utf-8 -*-
# author:heyic.m@gmail.com
# date:2017-03-10
# zabbix报警脚本,设置多个发件箱随机发送
 
import sys
import smtplib
from email.mime.text import MIMEText
from email.utils import formataddr
import random
 
# 发件人字典
sender = {
 'sender_139': {
 'smtp': 'smtp.139.com',
 'user': '136xxxxxx@139.com',
 'pass': 'pass'
 },
 'sender_163': {
 'smtp': 'smtp.163.com',
 'user': 'xxxxxxxxxxxx@163.com',
 'pass': 'pass'
 },
 'sender_comp': {
 'smtp': '192.168.193.27',
 'user': 'xxxxxxxxxxx@local.com',
 'pass': 'pass'
 },
 'sender_qq': {
 'smtp': 'smtp.qq.com',
 'user': 'xxxxxxxxxxx@qq.com',
 'pass': 'pass'
 }
}
 
 
# 随机获取发件人邮箱
def get_sender():
 send_server_list = []
 for each in sender:
 send_server_list.append(each)
 index = random.randrange(len(sender))
 return sender[send_server_list[index]]
 
 
# 收件人,邮件标题,邮件正文,发件人
def send_mail(to_list, subject, msg_content, sender):
 # 第三方邮件服务器及认证
 mail_host = sender['smtp']
 mail_user = sender['user']
 mail_pass = sender['pass']
 
 # 邮件内容
 msg = MIMEText(msg_content, 'plain', 'utf-8')
 msg['From'] = formataddr(['报警邮件', mail_user]) # 发件人显示
 msg['To'] = formataddr(['Me', to_list]) # 收件人显示
 msg['Subject'] = subject
 
 # 发送
 try:
 server = smtplib.SMTP(mail_host, 25)
 server.login(mail_user, mail_pass)
 server.sendmail(mail_user, [to_list], msg.as_string ())
 server.quit()
 except smtplib.SMTPException as e:
 print(e)
 
if __name__ == '__main__':
 sender = get_sender()
 # zabbix报警需三个参数,顺序为收件人,邮件标题,邮件正文
 # send_mail('yic.he@szpcg.com', '随机发件测试', '随机发件测试,哈哈喇哈', sender)
 send_mail(sys.argv[1], sys.argv[2], sys.argv[3], sender)

Copyright © 2019- xiaozhentang.com 版权所有

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务