利用python 通过邮件执行系统命令
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了利用python 通过邮件执行系统命令,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2185字,纯文字阅读大概需要4分钟。
内容图文
实现思路:通过检测收件箱中的指定用户发过来的邮件,检测邮件标题,执行指定命令。程序定时检测收件箱中的邮件,分离收件箱中第一封邮件的发件人和标题,若发件人不是指定用户则忽略该邮件;若发件人匹配,检测邮件中的标题,并执行标题中指定指定命令,同时会发送两封邮件出去,一封无意义标题的邮件给自己,防止重复执行命令,一封发到指定用户,告知该用户相应命令已执行。
# -*- coding: cp936 -*- import os, sys, string import poplib import smtplib import time def receive_mail(): #检测邮箱是否接收到指定邮箱发过来的命令邮件 host = "pop3.126.com"# pop3服务器地址 username = "abc@126.com"# 用户名 password = "password"# 密码 pp = poplib.POP3(host) # 创建一个pop3对象,这个时候实际上已经连接上服务器了 pp.set_debuglevel(1) # 设置调试模式,可以看到与服务器的交互信息 pp.user(username) # 向服务器发送用户名 pp.pass_(password) # 向服务器发送密码 ret = pp.stat() # 获取服务器上信件信息,返回是一个列表,第一项是一共有多上封邮件,第二项是共有多少字节 down = pp.retr(ret[0]) #获取第一封邮件# 输出邮件内容#for line in down[1]:# print line getfrom=down[1][9].decode(‘utf-8‘)0 getsubject=down[1][11].decode(‘utf-8‘) pp.quit() # 退出if getfrom!=‘From: "=?utf-8?B?5qKB6ZSm5r2u?=" <cde@126.com>‘: passelse: if getsubject==‘Subject: reboot‘: return 1 elif getsubject==‘Subject: restartmq‘: return 2 elif getsubject==‘Subject: ifconfig‘: return 3 else: return 0 def sendmail(): send_mail="abc@126.com"#发件邮箱 send_mail_passwd="password"#发件邮箱密码 receive_mail=‘abc@126.com‘#接收邮箱 send_mail_server=‘smtp.126.com‘#发件邮箱smtp服务器 mail_to = smtplib.SMTP(send_mail_server,25) mail_to.login(send_mail,send_mail_passwd) msg = "From: 123@123.com <"+send_mail+"""> To: <"""+receive_mail+"""> Subject: igorn mess igorn mess """ mail_to.sendmail(send_mail,receive_mail,msg) mail_to.close() def sendreply(): send_mail="abc@126.com"#发件邮箱 send_mail_passwd="password"#发件邮箱密码 receive_mail=‘cde@126.com‘#接收邮箱 send_mail_server=‘smtp.126.com‘#发件邮箱smtp服务器 mail_to = smtplib.SMTP(send_mail_server,25) mail_to.login(send_mail,send_mail_passwd) msg = "From: 123@123.com <"+send_mail+"""> To: <"""+receive_mail+"""> Subject: order excu order excu """ mail_to.sendmail(send_mail,receive_mail,msg) mail_to.close() if__name__==‘__main__‘: while 1: time.sleep(5) if receive_mail()==1: sendmail() sendreply() os.system(‘shutdown -r now‘) elif receive_mail()==2: sendmail() sendreply() os.system(‘restartmq‘) elif receive_mail()==3: sendmail() sendreply() os.system(‘ifconfig‘) else: pass
原文:http://www.cnblogs.com/id404/p/4405601.html
内容总结
以上是互联网集市为您收集整理的利用python 通过邮件执行系统命令全部内容,希望文章能够帮你解决利用python 通过邮件执行系统命令所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。