#!/usr/bin/env python
# coding=utf-8
from email import encoders
from email.header import Header
from email.mime.text import MIMEText
from email.utils import parseaddr, formataddr
import smtplib
import MySQLdb
def _format_addr(s):
name, addr = parseaddr(s)
return formataddr(( \
Header(name, 'utf-8').encode(), \
addr.encode('utf-8') if isinstance(addr, unicode) else addr))
from_addr = '****@163.com'
password = '******'
to_addr = '******@qq.com'
smtp_server = 'smtp.163.com'
msg = MIMEText('please check', 'plain', 'utf-8')
msg['From'] = _format_addr(u'服务器监控 ' % from_addr)
msg['To'] = _format_addr(u'管理员 ' % to_addr)
print 'msg is :' % msg
try:
server = smtplib.SMTP(smtp_server, 25)
server.set_debuglevel(1)
server.login(from_addr, password)
conn = MySQLdb.connect(host='localhost',user='root',passwd='*****',port=3306)
cur=conn.cursor()
conn.select_db('mysql')
count = cur.execute('select count(*) from user')
print count
cur.close()
conn.close()
msg = MIMEText('everything is ok.', 'plain', 'utf-8')
msg['Subject'] = Header(u'Mysql 正常', 'utf-8').encode()
server.sendmail(from_addr, [to_addr], msg.as_string())
except MySQLdb.Error,e:
msg['Subject'] = Header(u'Mysql 出现异常,请及时排查', 'utf-8').encode()
print "Mysql Error %d: %s" % (e.args[0], e.args[1])
server.sendmail(from_addr, [to_addr], msg.as_string())
finally:
server.quit()