186
Python
Python简直太强大!神级程序员教你如何直接远程关机!这B可以有
python不仅是一个完成工作的工具,而且还是非常享受他的编程的过程。在前几篇的文章中,其中有一篇是个关于搭建Ubuntu邮件服务器,来进行一系列的操作,是为了不消耗我自己,这里还要对邮件在进行编辑,完成远程一键关机,这个关机使用邮件而不是远程的连接。
为什么会有这个想法呢?原因是我晚上在实验室学习一半的时候,出去去吃饭,然后就不不想回去了,或者去上课的时候没关电脑(当时想着我一定还能回来在学会,结果就直接的玩去了。什么学习都抛到脑后)这样一来电脑就会在LAB咆哮一夜,不仅浪费电,还伤害我的电脑,然后就傻傻给别人发短信,帮我把电脑管了吧!这样感觉不仅麻烦自己,还麻烦别人。于是想到这python的功能,做一个关闭计算机的程序。
然后我教大家怎么装逼:在一堆朋友聊天的时候,忽然说:哎呀!我的电脑在那那忘了关机了,你手机借我一下,我关个机。然后就发送一个邮件,电脑管了,再说:好了,电脑关了。这之后就可以讲讲你是怎样做到的。OR,在大冬天的时候,再和你女朋友讨论是谁下床去把电脑关了的时候,就又是装逼的时候了。这个时候就会带来满满 的羡慕之情。
预期达成效果
通过用手机,或者电脑发送一份邮件给我的邮箱,电脑过一段时间自己关机。这个装逼的程度不下于神舟上天。
演示
快进了30倍的Gif
执行计划
用python写下一串代码
邮件开启授权客户端密码和pop3&smtp
smtp和pop
SMTP(Simple Mail Transfer Protoco)简单邮件传输协议
SMTP是一个相对简单的基于 文本 的 协议 。在其之上指定了一条 消息 的一个或多个接收者(在大多数情况下被确认是存在的),然后消息文本会被传输。可以很简单地通过 telnet 程序来测试一个SMTP服务器。SMTP使用 TCP 端口25。要为一个给定的域名决定一个SMTP服务器,需要使用MX (Mail eXchange) DNS 。
在八十年代早期SMTP开始被广泛地使用。当时,它只是作为 UUCP 的补充,UUCP更适合于处理在间歇连接的机器间传送邮件。相反,SMTP在发送和接收的机器在持续连接的网络情况下工作得最好。
Sendmail 是最早使用SMTP的邮件传输代理之一。到2001年至少有50个程序将SMTP实现为一个客户端(消息的发送者)或一个服务器(消息的接收者)。一些其他的流行的SMTP服务器程序包括了Philip Hazel的exim, IBM 的Postfix, D. J. Bernstein的 Qmail ,以及 Microsoft Exchange Server 。
由于这个协议开始是基于纯 ASCII 文本的,它在 二进制 文件上处理得并不好。诸如 MIME 的标准被开发来编码二进制文件以使其通过SMTP来传输。今天,大多数SMTP服务器都支持8位MIME扩展,它使二进制文件的传输变得几乎和纯文本一样简单。
--参考 wiki 百科
POP(Post Office Protocol)邮局协议
是 TCP/IP 协议族中的一员,由RFC 1939定义。本协议主要用于支持使用 客户端 远程管理在 服务器 上的 电子邮件 。最新版本为 POP3 ,全名“Post Office Protocol - Version 3”,而提供了 SSL 加密的POP3协议被称为 POP3S
。
--参考 wiki 百科
简单来说,SMTP是发送邮件, POP3/IMAP管是接受邮件,相当于中转站,将邮件发送到客户端。SMTP 认证,简单地说就是要求必须在提供了账户名和密码之后才可以登录 SMTP 服务器,这就使得那些垃圾邮件的散播者无可乘之机。
增加 SMTP 认证的目的是为了使用户避免受到垃圾邮件的侵扰。SMTP service收到邮件后转给负责接收邮件的POP3 service,POP3是把邮件下载到本地计算机,不与服务器同步。它规定怎样将个人计算机连接到Internet的邮件服务器和下载电子邮件的电子协议。它是因特网电子邮件的第一个 离线 协议标准,POP3允许用户从服务器上把邮件存储到本地主机(即自己的计算机)上,同时删除保存在邮件服务器上的邮件,而POP3服务器则是遵循POP3协议的接收邮件服务器,用来接收电子邮件的。
说到POP3也要说一下IMAP虽然这里用不到,pop3是静态,IMAP是动态。IMAP提供Webmail 与电子邮件客户端之间的双向通信,客户端收取的邮件仍然保留在服务器上,同时在客户端上的操作都会反馈到服务器上(如:删除邮件,标记已读等,服务器上的邮件也会做相应的动作。所以无论从浏览器登录邮箱或者客户端软件登录邮箱,看到的邮件以及状态都是一致的。)。而POP3在客户端的操作不会反馈到服务器上。
网易邮箱已经默认开启 POP3/SMTP/IMAP 服务,方便您可以通过电脑客户端软件更好地收发邮件,但是客户端的授权密码需要自己手机开通,如何开通参见小弟的另一个小弟的另一个文章介绍获取授权码。
网易163相关服务信息
实现过程
当程序运行的时候,先对163邮箱发送一封自己构建的邮件,避免因上次自动化关机导致运行程序立刻关机。
用手机或其他设备对邮箱发送关闭电脑文字,邮箱读取主题文字为关机命令,执行关闭电脑命令,完成操作。将其打包成windows下可执行文件,电脑运行。
另外可讲sleep设置时间间断缩小,来达到秒响应的效果。
设置参数
登录邮箱获取邮箱内容
执行关机命令
总结
冲动的想法构建了此项应用,为了好玩和方便自己,代码写的不够pythonic,还希望你多多包涵。谢谢阅读、本文转载!
如有侵权请联系小编删除!
最后更新:2017-10-24 16:03:32