首页 / 邮件 / 检查version,发送邮件
检查version,发送邮件
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了检查version,发送邮件,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2458字,纯文字阅读大概需要4分钟。
内容图文
#-*-coding:utf-8 -*-
#!/usr/bin/python
import sys
reload(sys)
sys.setdefaultencoding(‘utf-8‘)
import MySQLdb
import houtai_dbname
import paramiko
from email.mime.multipart import MIMEMultipart
from email.mime.base import MIMEBase
from email.mime.text import MIMEText
import smtplib
#第三方服务smtp
mail_host=‘smtp.yeah.net‘
mail_user=‘xxxxx‘
mail_pass=‘xxxxx‘
mail_postfix= ‘yeah.net‘
receivers=‘xxxxx@sina.com‘
def get_version(checkver,plname):
stri=" "
checkver=checkver
print plname
global conn
defdb=houtai_dbname.check_plname(plname)
try:
cur=conn.cursor(cursorclass=MySQLdb.cursors.DictCursor)
conn.select_db(defdb)
sql=‘SELECT ip,gameport,zoneName from serverinfo where pf=\‘%s\‘ and zoneid<8000 ORDER BY zoneid‘ % plname
cur.execute(sql)
result = cur.fetchall()
cur.close()
except MySQLdb.Error,e:
print "MySQL Error %d:%s" % (e.args[0],e.args[1])
#print e
for i in result:
ip=i["ip"]
port=i["gameport"]
zonename=i["zoneName"]
print "%s:%s" % (ip,port)
sshport=22
pkey_file =‘/root/.ssh/id_rsa‘
user=‘root‘
key=paramiko.RSAKey.from_private_key_file(pkey_file)
cmd="tail -n 1 /usr/jyserver/%s/server/bin/version" % port
s=paramiko.SSHClient()
s.load_system_host_keys()
s.set_missing_host_key_policy(paramiko.AutoAddPolicy())
s.connect(ip,sshport,user,pkey=key,timeout=5)
stdin,stdout,stderr=s.exec_command(cmd)
cmd_result=stdout.read()
print cmd_result
if str(cmd_result) != checkver:
stri=stri+"%s %s %s %s not rigth \n " % (plname,zonename,ip,port)
print stri
return stri
def send_mail(mail_to,subject,content):
me = mail_user+"<"+mail_user+"@"+mail_postfix+">" #邮件发送方
message = MIMEText(content, ‘plain‘, ‘utf-8‘) #邮件内容
message["Accept-Language"]="zh-CN" #中文
message["Accept-Charset"]="ISO-8859-1,utf-8"
message[‘subject‘] = subject #邮件标题
message[‘from‘] = me #发送方
message[‘to‘] = receivers #接收方
try:
smtpObj = smtplib.SMTP()
smtpObj.connect(mail_host) #连接smtp
smtpObj.login(mail_user,mail_pass) #登录
smtpObj.sendmail(me,receivers, message.as_string()) #获取参数发送邮件
smtpObj.close() #关闭
print "邮件发送成功"
except Exception,e:
print "ERROR,无法发送邮件"
print e
if __name__=="__main__":
alls=""
dic=houtai_dbname.houtaidic
for i in dic:
print i,dic[i]
plname=i
conn = MySQLdb.connect(host="%s" % dic[i],user=‘xxxxx‘,passwd=‘xxxxxxx‘,port=3306,charset=‘utf8‘)
alls=alls+get_version(str(sys.argv[1]).lstrip().rstrip(),plname)+ ","
#print alls
send_mail(‘xxxxxx@sina.com‘,‘platfrom version check‘,alls)
原文:http://blog.51cto.com/yzg784534398/2064209
内容总结
以上是互联网集市为您收集整理的检查version,发送邮件全部内容,希望文章能够帮你解决检查version,发送邮件所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。