#!/usr/bin/python
#coding:utf-8

import sys
import os
import time
import urllib
import urllib2
import argparse
import logging  
import logging.handlers 

try:
	#added by tophorse in 2017.08.27,增加日志输出功能
	filename=os.path.join(sys.path[0], 'sendmail.log')
	handler = logging.handlers.RotatingFileHandler(filename, maxBytes = 1024*1024, backupCount = 5) # 实例化handler   
	#fmt = '%(asctime)s - %(filename)s:%(lineno)s - %(name)s - %(message)s'  
	fmt='%(asctime)s %(filename)s[line:%(lineno)d] %(levelname)s %(message)s'
	formatter = logging.Formatter(fmt)   # 实例化formatter  
	handler.setFormatter(formatter)      # 为handler添加formatter  
	logger = logging.getLogger('')    # 获取logger  
	logger.addHandler(handler)           # 为logger添加handler  
	logger.setLevel(logging.DEBUG)
	#
	def mail(mail_to,subject,content):
	    #记录日志
	    #logger.debug("mail_to:"+mail_to+"-subject:"+subject)
	    now = time.strftime('%H%M%S')
	    url='http://182.92.64.111:8056/email/pages/sendMail.wlzg'
	    values = 'json={"key":"56sino", "email":"%s", "title":"%s", "content":"%s"}' %(mail_to, subject, content)
	    req = urllib2.Request(url, values)
	    response = urllib2.urlopen(req)
	    print response.read()
	    #print type(response.read())
	    #result = eval(response.read())
	    #if result['state'] == '1':
	    #    return "发送成功"
	    #else:
	    #    return "发送失败, " + result['msg']

	if  __name__=="__main__":
	    parser = argparse.ArgumentParser(description='Send mail to user for zabbix alterting')
	    parser.add_argument('mail_to',action="store",help='The address of the E-mail that send to user')
	    parser.add_argument('subject',action="store",help='The subject of the E-mail')
	    parser.add_argument('content',action="store",help='The content of the E-mail')
	    args = parser.parse_args()
	    mail_to=args.mail_to
	    subject=args.subject
	    content=args.content
	    #替换字符
	    #content=content.encode('UTF8')
	    content=content.replace('\'','\\\'')
	    content=content.replace('\"','\\\"')
	    content=urllib.quote(content)
	    print content
	    #调用函数
	    mail(mail_to,subject,content)
except Exception,e:
 logger.error(str(e))
 print str(e)