| | |
| | | from email.header import Header
|
| | | import datetime
|
| | | import subprocess
|
| | | import urllib
|
| | | # get: request.query.username request.GET.get('username','')
|
| | | # post: request.forms.get('username') request.POST.get('username')
|
| | | #===============================================================================
|
| | |
| | |
|
| | | elif stateType in ["MapError", "GameServerError", "PyMongoError"]:
|
| | | #groupID=%s&userDBName=%s&Type=PyMongoError
|
| | | ServerInfo = "错误类型:%s 服务器组:%s, dbname:%s"%(stateType,
|
| | | ServerInfo = "错误类型:%s 服务器组:%s, dbname:%s msg:%s"%(stateType,
|
| | | dataDict.get("groupID", 0),
|
| | | dataDict.get("userDBName", 0))
|
| | | dataDict.get("userDBName", 0),
|
| | | urllib.unquote_plus(dataDict.get("MsgInfo", "0")))
|
| | | SendEmail(ServerInfo)
|
| | | return
|
| | | elif stateType == "MapDisconnect":
|
| | |
| | | return
|
| | | elif stateType == "GameWarning":
|
| | | # 游戏通用警告邮件使用
|
| | | ServerInfo = "游戏警报:服务器组:%s, dbname:%s, 警告信息:"%(
|
| | | ServerInfo = "游戏警报:服务器组:%s, dbname:%s, 警告信息:%s"%(
|
| | | dataDict.get("groupID", 0),
|
| | | dataDict.get("userDBName", 0),
|
| | | dataDict.get("MsgInfo", 0))
|
| | | urllib.unquote_plus(dataDict.get("MsgInfo", 0)))
|
| | | SendEmail(ServerInfo)
|
| | | elif stateType in ["MapServerRaiseException", "GameServerRaiseException", "RaiseException"]:
|
| | | ServerInfo = "%s 抛出Try异常报错:服务器组:%s, dbname:%s, MapID:%s 异常信息:%s"%(
|
| | | stateType,
|
| | | dataDict.get("groupID", 0),
|
| | | dataDict.get("userDBName", 0),
|
| | | dataDict.get("mapID", 0),
|
| | | urllib.unquote_plus(dataDict.get("MsgInfo", 0)))
|
| | | SendEmail(ServerInfo)
|
| | | elif stateType == "QueryMapOK":
|
| | | if g_AllMapCnt == 0:
|
| | |
| | | return "服务器开启完毕,地图数:%s"%g_AllMapCnt
|
| | | except Exception, e:
|
| | | print e
|
| | | ServerInfo = "控制台报错,服务器异常! %s"%e
|
| | | try:
|
| | | SendEmail(ServerInfo)
|
| | | except:
|
| | | print "无法发送邮件"
|
| | |
|
| | | # 邮件汇报
|
| | | def SendEmail(ServerInfo):
|
| | |
| | | sender = '2199274165@qq.com'
|
| | |
|
| | | # 这里可以填写需要接收汇报的邮件地址
|
| | | receivers = ['305670599@qq.com']#, '1142397645@qq.com'] |
| | | receivers = ['305670599@qq.com']#, '1142397645@qq.com', '305670599@qq.com', '995275190@qq.com'] |
| | |
|
| | | message = MIMEText('异常汇报:%s'%ServerInfo, 'plain', 'gbk')
|
| | | message['From'] = Header("游戏服务器异常汇报", 'gbk')
|