python实现微信发送邮件关闭电脑功能


Posted in Python onFebruary 22, 2018

Python 通过微信邮件实现电脑关机,供大家参考,具体内容如下

通过手机微信发送QQ邮件给sina邮箱,然后利用python的pop3定时检查sina邮箱的邮件主题以及邮件来源,并在电脑执行相应的命令行实现关机。

Email_test【V1.0】

import poplib 
import os 
import time 
from email.parser import Parser 
from email.header import decode_header 
from email.utils import parseaddr 
 
#编码转换函数 
def decode_str(s): 
  value, charset = decode_header(s)[0] 
  if charset: 
    value = value.decode(charset) 
  return value 
 
#获取email主题 
def get_Subject(msg): 
  #提取Subject信息 
  Subject = msg.get('Subject') 
  #编码转换 
  Subject = decode_str(Subject) 
  return Subject 
 
def judge(Subject, e_addr): 
  if (Subject == '关机' and e_addr == '532101629@qq.com'): 
    return 1 
  else: 
    return 0 
 
#检索邮件主题 
def Check_Subject(host, user, password): 
  result = 0 
  try: 
    pop_connect = poplib.POP3(host=host, timeout=3) 
    print(pop_connect.getwelcome()) 
 
    pop_connect.user(user) 
    pop_connect.pass_(password) 
    print('Messages: %s. Size: %s' % pop_connect.stat()) 
 
    #服务器返回信息,消息列表,返回信息的大小。 
    number = len(pop_connect.list()[1]) 
    print('消息列表长度:', number) 
 
    #检索所有邮件 
    for index in range(1, number+1): 
      #获取第一封邮件信息 
      msglines = pop_connect.retr(index)[1] 
      # 可以获得整个邮件的原始文本(重新排版后的): 
      str = b'\r\n' 
      msg_content = str.join(msglines).decode('utf-8') 
      print('\n', msg_content) 
      #将原始邮件转换为email实例: 
      msg = Parser().parsestr(msg_content) 
 
      # 获取email主题 
      Subject = get_Subject(msg) 
      print(Subject) 
      # 获取email地址 
      email_addr = parseaddr(msg.get('From'))[1] 
      #信息判断 
      result = judge(Subject, email_addr) 
      print(result) 
      #根据判断结果,执行操作 
      if result == 1: 
        pop_connect.dele(index) 
        break 
    # 登出email 
    pop_connect.quit() 
    return result 
 
  except Exception as e: 
      print('login fail! ' + str(e)) 
      quit() 
 
def main(): 
  host = 'pop.sina.com' 
  user = '********@sina.com' 
  password = '********' 
  while 1: 
    result = Check_Subject(host, user, password) 
    if result == 1: 
      cmd = 'cmd /k shutdown -l' 
      os.system(cmd) 
      break 
    time.sleep(60) # 两次检索邮件的时间间隔60s 
 
main()

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python解析nginx日志文件
May 11 Python
python基于xmlrpc实现二进制文件传输的方法
Jun 02 Python
Python之父谈Python的未来形式
Jul 01 Python
Python实现网站注册验证码生成类
Jun 08 Python
Python3中条件控制、循环与函数的简易教程
Nov 21 Python
python并发和异步编程实例
Nov 15 Python
超实用的 30 段 Python 案例
Oct 10 Python
Keras - GPU ID 和显存占用设定步骤
Jun 22 Python
使用darknet框架的imagenet数据分类预训练操作
Jul 07 Python
Python实现http接口自动化测试的示例代码
Oct 09 Python
matplotlib 范围选区(SpanSelector)的使用
Feb 24 Python
用python自动生成日历
Apr 24 Python
python使用itchat实现手机控制电脑
Feb 22 #Python
Python实现利用163邮箱远程关电脑脚本
Feb 22 #Python
Python3.4实现远程控制电脑开关机
Feb 22 #Python
python实现微信远程控制电脑
Feb 22 #Python
Python标准库笔记struct模块的使用
Feb 22 #Python
python实现手机通讯录搜索功能
Feb 22 #Python
Python实现通讯录功能
Feb 22 #Python
You might like
生成静态页面的php函数,php爱好者站推荐
2007/03/19 PHP
PHP与MySQL开发的8个技巧小结
2010/12/17 PHP
PHP添加Xdebug扩展的方法
2014/02/12 PHP
ThinkPHP自动完成中使用函数与回调方法实例
2014/11/29 PHP
php pdo操作数据库示例
2017/03/10 PHP
PHP编程实现脚本异步执行的方法
2017/08/09 PHP
PHP实现的AES双向加密解密功能示例【128位】
2018/09/03 PHP
PHP如何将图片文件上传到另外一台服务器上
2019/08/26 PHP
JQuery+Ajax无刷新分页的实例代码
2014/02/08 Javascript
js判断某个方法是否存在实例代码
2015/01/10 Javascript
Linux下编译安装php libevent扩展实例
2015/02/14 Javascript
jQuery中checkbox反复调用attr('checked', true/false)只有第一次生效的解决方法
2016/11/16 Javascript
微信小程序 小程序制作及动画(animation样式)详解
2017/01/06 Javascript
js仿网易表单及时验证功能
2017/03/07 Javascript
如何解决vue与传统jquery插件冲突
2017/03/20 Javascript
NodeJS实现图片上传代码(Express)
2017/06/30 NodeJs
从零开始学习搭建React脚手架项目
2018/08/23 Javascript
javascript写一个ajax自动拦截并下载数据代码实例
2019/09/07 Javascript
Node.js控制台彩色输出的方法与原理实例详解
2019/12/01 Javascript
微信跳一跳自动运行python脚本
2018/01/08 Python
Python使用pymongo模块操作MongoDB的方法示例
2018/07/20 Python
python正则表达式实例代码
2020/03/03 Python
pandas数据处理之绘图的实现
2020/06/15 Python
python中线程和进程有何区别
2020/06/17 Python
Windows下PyCharm配置Anaconda环境(超详细教程)
2020/07/31 Python
使用python tkinter开发一个爬取B站直播弹幕工具的实现代码
2021/02/07 Python
html5 外链式实现加减乘除的代码
2019/09/04 HTML / CSS
在线学习西班牙语、法语或其他语言:Babbel.com
2018/02/07 全球购物
党建工作先进材料
2014/05/02 职场文书
慈善晚会策划方案
2014/05/14 职场文书
高校师德师风自我剖析材料
2014/09/29 职场文书
六一文艺汇演开幕词
2015/01/29 职场文书
出纳岗位职责
2015/01/31 职场文书
面试通知邮件
2015/04/20 职场文书
Nginx虚拟主机的配置步骤过程全解
2022/03/31 Servers
python中pd.cut()与pd.qcut()的对比及示例
2022/06/16 Python