通过邮箱远程控制电脑

转自本人在知乎上面的答案印如意Fitz

通过往邮箱发送邮件,从而达到控制电脑or开始抓取数据or播放音乐等系列操作。

like that:

先用我的常用邮箱给我备胎邮箱发送一封主题为“shutdown”的邮件

然后我要关机的电脑检测到了自动关机并发挥一封主题为“already shutdown”的邮件

原理:我要关机的电脑脚本不断检测我的备胎邮箱是否有“shutdown”主题的来自我常用邮箱的邮件,如果有则返回一封“已经关机”的邮件给我常用邮箱,并且自己给自己发一封主题为haha的邮箱,从而避免下次一打开脚本就关机。(时间神马的都可以自己设定,我设定的比较短)

#coding:utf-8
#python 3.4
#author yinruyi
#email  yinruyi.hm@gmail.com
import poplib,email
from email.header import decode_header
import smtplib
import time
import os,sysdef accp_mail():host = "pop3.sina.com"username = "yinruyi233@sina.com"#关机邮箱password = "233333333"#邮箱密码pp = poplib.POP3(host)pp.set_debuglevel(1)pp.user(username)pp.pass_(password)ret = pp.stat()ret = pp.list()down = pp.retr(len(ret[1]))a=down[1][10].decode('utf-8')b=down[1][33].decode('utf-8')if a!="X-Sender: ruyi.yin@qq.com":#我常用的邮箱passelse:if b=="Subject: shutdown":#发送关机主题#depend on the down itselfreturn 0pp.quit()
def send_mail():handle = smtplib.SMTP('smtp.sina.com', 25)handle.login('yinruyi233@sina.com','233333333')#关机邮箱帐号和密码msg = "To: yinruyi233@sina.com\r\nFrom: yinruyi233@sina.com\r\nSubject: haha \r\n\r\nstart\r\n"#从关机邮箱到关机邮箱主题为haha的邮件handle.sendmail('yinruyi233@sina.com','yinruyi233@sina.com', msg)#发送
        handle.close()
def send_mail1():handle = smtplib.SMTP('smtp.sina.com', 25)handle.login('yinruyi233@sina.com','23333333')#关机邮箱帐号和密码msg = "To: ruyi.yin@qq.com\r\nFrom: yinruyi_hm@sina.com\r\nSubject: already shutdown \r\n\r\nstart\r\n"#从关机邮箱到常用邮箱主题为已经关机的邮件handle.sendmail('yinruyi_hm@sina.com','ruyi.yin@qq.com', msg)handle.close()
if __name__=='__main__':while 1:time.sleep(5)if accp_mail()==0:#print('just success')
                        send_mail()#让关机邮箱自己给自己发一封不同于shutdown的邮件
                        send_mail1()#让关机邮箱给自己的常用邮箱发一封已经关机的邮件os.system('shutdown -f -s -t 10 -c closing...')#关机break

 

转载于:https://www.cnblogs.com/yinruyi/p/4368465.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/291598.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

上海纳税百强2016,邢台2017纳税百强,深圳百强企业

上海纳税百强企业名单公布。市税务部门组织的税收收入达到11847.0亿元,同比增长5.5%,增收616.6亿元;剔除证券交易印花税后,税收收入完成11380.6亿元,同比增长15.1%,其中,第三产业税收收入完成81…

Oracle DBA

实验7 Oracle数据库安全管理 1.实验目的 (1)掌握Oracle数据库安全控制的实现。 (2)掌握Oracle数据库用户管理。 (3)掌握Oracle数据库权限管理。 (4)掌握Oracle数据…

linux c之STDIN_FILENO的作用及与stdin的区别

1.STDIN_FILENO的作用 STDIN_FILENO属于系统API接口库,其声明为 int 型,是一个打开文件句柄,对应的函数主要包括 open/read/write/close 等系统级调用。 操作系统一级提供的文件API都是以文件描述符来表示文件。STDIN_FILENO就是标准输入设备(一般是键盘)的文件描述符。 2…

c++ 对象起始地址 指针靠齐_你需要知道的各种指针运算

数组的某个成员可以用数组的基地址加上一个偏移量来表示。我们可以声明一个指针double *p;,把它作为基地址,然后就可以像数组一样在这个基地址上使用偏移量。在基地址上,我们可以找到第1个成员p[0]的内容,在基地址上前进一步可以找…

2014,成为更好程序员的7个方法

2019独角兽企业重金招聘Python工程师标准>>> // 译注:英文原文发布今年年初,所以开头提到了”新年“,请不要惊讶~ 程序员总是有很多的决定,不是吗?如果你的新年待办事项还是空白的话,那么可以考…

BLDC(无刷直流电机)应用相关

1、基于XC866的直流无刷电机简易正弦波控制 http://blog.gkong.com/hushunlin_219521.ashx 2、无刷直流电机的PWM调制方式介绍 http://blog.gkong.com/hushunlin_216395.ashx 3、基于中颖SH79F168的家用风扇无刷直流电机180正弦波控制 http://blog.gkong.com/hushunlin_216377.…

.NET6之MiniAPI(十五):跨域CORS(下)

前一篇的跨域请求的方式是松宽的方式,毕竟跨域有安全风险,应尽量少的允许访问必要资源,本篇分别从请求方法,请求头和请求凭据方面了解跨域设置。请求方法:api项目,get,post是默认访问&#xff0…

游戏上线... 记录下...

转载于:https://www.cnblogs.com/porter/p/6339792.html

linux网络编程之Listen函数参数介绍

1、listen()函数介绍 listen函数使用主动连接套接口变为被连接套接口,使得一个进程可以接受其它进程的请求,从而成为一个服务器进程。在TCP服务器编程中listen函数把进程变为一个服务器,并指定相应的套接字变为被动连接。 listen函数在一般在…

vue2 怎么用vite_vue3vite简介

vue3&vite放弃webpack,使用vite安装vue3.0这个是尤大开发的新工具,目的是以后替代webpack,原理是利用浏览器现在已经支持es6的import了,遇到import会发送一个http请求去加载文件,vite拦截这些请求,做一些预编译&am…

Beetlex服务网关1.8发布

在新的版本中网关添加了不少功能,分别有流量控制包括:会话、IP、域名和Url等流量控制配置;在插件上添加了Redis读取和ElasticSearch文档搜索功能。流量控制在新版本中网关添加了流量控制功能,通过这一功能可以控制会话、IP、域名和…

HDU 3487 Play with Chain | Splay

Play with Chain Time Limit: 6000/2000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) 【Problem Description】YaoYao is fond of playing his chains. He has a chain containing n diamonds on it. Diamonds are numbered from 1 to n. At first, the d…

WIN32程序结构

windows程序基于消息驱动系统,用户的所有行为和事件都被windows转成消息。windows内部对消息的处理:消息生命周期:1.消息产生:windows监控所有具体输入事件硬件设备。当系统收到设备输入事件时。windows将对应事件转成消息。2.消息投递:每个消息都有一个目标窗体接收…

linux之vim/vi快速复制多行内容的快捷键

1、复制一行 之前我只知道复制哪一行就把光标放在哪一行然后用命令y或者yy明亮,就复制了,然后我再用p命令就可以把这行复制到光标下面 2、复制多行 我们可以使用命令v然后加上 “上下键”,在vim可以看到部分文本变颜色,就像在windows系统下的…

zsh

2019独角兽企业重金招聘Python工程师标准>>> 1. MAC安装zsh后,部分bash 指令失效conda, list, pip, list失效,怎么解决? step1:vim ~/.bash_profile 记录Anaconda的路径地址: export PATH"/Users/XXX/anaconda/bin:$PAT…

导出jar插件_Fluttify输出的Flutter插件工程详解

系列文章:yohom:Fluttify输出的Flutter插件工程详解​zhuanlan.zhihu.comyohom:开发Flutter插件必备原生SDK->Dart接口生成引擎Fluttify介绍​zhuanlan.zhihu.comyohom:如何使用Fluttify开发一个新的Flutter插件​zhuanlan.zhi…

[免费下载应用]iNeuKernel.Ocr 图像数据识别与采集原理和产品化应用

目 录1..... 应用概述... 22..... 免费下载试用... 23..... 视频介绍... 24..... iNeuLink.Ocr图像数据采集应用... 25..... 数据上传到iNeuOS工业互联网操作系统... 46..... Ocr基本概念... 71. 应用概述在工业、军工或航天等领域,有些设备及软件系统比较陈…

hdu 1848(Fibonacci again and again)(SG博弈)

Fibonacci again and again Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 8380 Accepted Submission(s): 3462 Problem Description任何一个大学生对菲波那契数列(Fibonacci numbers)应该都不会陌生&#xff…

linux c之gcc编译出现error:lvalue required as unary ‘‘ operand解决办法

1、问题 今天搞epoll实现io复用的时候gcc编译出现这个错误lvalue required as unary & operand,如下图 2、解决办法 accept函数参数如下 int accept(int sockfd,struct sockaddr *addr,socklen_t *addrlen); 在第三个参数为了少些代码我是这样写成这样&size…

生成arff文件,csv转为arff

一、什么是arff格式文件 1、arff是Attribute-Relation File Format缩写,从英文字面也能大概看出什么意思。它是weka数据挖掘开源程序使用的一种文件模式。由于weka是个很出色的数据挖掘开源项目,所以使用的比较广,这也无形中推广了它的数据存…