-
网上找到一个脚本sendmail.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
|
#!/usr/bin/python
# -*- coding:utf-8 -*-
import
smtplib
import
sys
from
email.mime.text
import
MIMEText
import
time
#reload(sys)
#sys.setdefaultencoding('utf8')
current_time
=
time.strftime(
'%Y-%m-%d%H:%M'
,time.localtime(time.time()))
mail_host
=
'smtp.163.com'
mail_user
=
'xxx@163.com'
mail_pwd
=
'xxxxxx'
def
send_email( content,mailto, get_sub ):
#msg = MIMEText( content.encode('utf8'),_subtype = 'html', _charset = 'utf8')
msg
=
MIMEText(content,_subtype
=
'plain'
,_charset
=
'utf8'
)
msg[
'From'
]
=
mail_user
msg[
'Subject'
]
=
get_sub
msg[
'To'
]
=
","
.join( mailto )
try
:
s
=
smtplib.SMTP(mail_host,
25
)
s.login(mail_user, mail_pwd )
s.sendmail(mail_user, mailto,msg.as_string())
s.close()
except
Exception as e:
print
'Exception: '
, e
title
=
sys.argv[
2
]
cont
=
"""
---------------------------------
摘要: %s
---------------------------------
时间: %s
---------------------------------
"""
%
(sys.argv[
3
],current_time)
to_list
=
[
'%s'
%
(sys.argv[
1
]),
]
'''withopen('/tmp/sendmail_qs.log','ab') as f:
f.write('%s Receive address: %s Title: %s \n'%(current_time,sys.argv[1],title))
'''
send_email( cont, to_list,title)
|
sendmail.py脚本权限 755或者777,owner zabbix
测试 ./sendmail.py $to $subject $messages
2.添加脚本
3.设置触发条件
4.设置故障恢复后的报警时间,一般是间隔5分钟,你可以修改为60s
本文转自 liqius 51CTO博客,原文链接:http://blog.51cto.com/szgb17/1630366,如需转载请自行联系原作者