Zabbix郵件報警腳本html
對於目前的運營商來講,25端口基本上被禁用了,只能使用ssl/tls加密協議來發收郵件,對於zabbix來講郵件報警仍是比較經常使用的,下面爲報警腳本,親測時能夠正常收到郵件的,能夠先進行測試是否能正常收到郵件在正式配置到zabbix上。以163郵件爲例:python
[root@localhost ~]# cat zabbix_mail.py #!/usr/bin/python # coding=utf-8 #zabiix 郵件報警腳本 #測試方法:python zabbix_mail.py XXXXXXX@163.com test test #能正常發送郵件說明成功 import smtplib import sys from email.mime.text import MIMEText class send_mail(): mail_host="smtp.163.com" mail_user="XXXXXXXXXX@163.com" #注:此地方的密碼爲POP3/SMTP/IMAP客戶端受權的受權碼,不是郵箱的登陸密碼 mail_pass="XXXXXXXXXX" mail_postfix="163.com" def __init__(self,sub,content): self.me="Zabbix-Alter"+"<"+self.mail_user+"@"+self.mail_postfix+">" self.msg = MIMEText(content,_subtype='html',_charset='utf-8') self.msg['From'] = self.me self.msg['Subject'] = sub def sendMessage(self,user): self.msg['To'] = ";".join(user) try: s = smtplib.SMTP_SSL(host=self.mail_host,port=465) s.login(self.mail_user,self.mail_pass) s.sendmail(self.me, user, self.msg.as_string()) #發送郵件 s.close() except Exception, e: print str(e) if __name__ == '__main__': mailto_list=[] mailto_list.append(sys.argv[1]) s = send_mail(sys.argv[2],sys.argv[3]) s.sendMessage(mailto_list)