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在windows下实现备份程序实例
Jul 04 Python
python持久性管理pickle模块详细介绍
Feb 18 Python
讲解Python中的标识运算符
May 14 Python
Python 爬虫模拟登陆知乎
Sep 23 Python
Python正则表达式教程之三:贪婪/非贪婪特性
Mar 02 Python
详解Python 2.6 升级至 Python 2.7 的实践心得
Apr 27 Python
python-Web-flask-视图内容和模板知识点西宁街
Aug 23 Python
python给图像加上mask,并提取mask区域实例
Jan 19 Python
PyQt5 文本输入框自动补全QLineEdit的实现示例
May 13 Python
python openCV实现摄像头获取人脸图片
Aug 20 Python
Python3实现英文字母转换哥特式字体实例代码
Sep 01 Python
如何基于python实现单目三维重建详解
Jun 25 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服务器页面间跳转实现方法
2012/08/02 PHP
php使用百度翻译api示例分享
2014/01/31 PHP
PHP编辑器PhpStrom运行缓慢问题
2017/02/21 PHP
laravel实现按月或天或小时统计mysql数据的方法
2019/10/09 PHP
php实现银联商务公众号+服务窗支付的示例代码
2019/10/12 PHP
javascript之Partial Application学习
2013/01/10 Javascript
JS获取浏览器版本及名称实现函数
2013/04/02 Javascript
JavaScript中的acos()方法使用详解
2015/06/14 Javascript
AngularJS HTML DOM详解及示例代码
2016/08/17 Javascript
JavaScript trim 实现去除字符串首尾指定字符的简单方法
2016/12/27 Javascript
浅谈JavaScript中promise的使用
2017/01/11 Javascript
jQuery实现鼠标经过显示动画边框特效
2017/03/24 jQuery
JS失效 提示HTML1114: (UNICODE 字节顺序标记)的代码页 utf-8 覆盖(META 标记)的冲突的代码页 utf-8
2017/06/23 Javascript
vue中本地静态图片路径写法
2018/03/06 Javascript
打通前后端构建一个Vue+Express的开发环境
2018/07/17 Javascript
在Vue项目中,防止页面被缩放和放大示例
2019/10/28 Javascript
《javascript设计模式》学习笔记三:Javascript面向对象程序设计单例模式原理与实现方法分析
2020/04/07 Javascript
ES6箭头函数和扩展实例分析
2020/05/23 Javascript
vue点击标签切换选中及互相排斥操作
2020/07/17 Javascript
Python删除指定目录下过期文件的2个脚本分享
2014/04/10 Python
Python中的map()函数和reduce()函数的用法
2015/04/27 Python
详解在Python和IPython中使用Docker
2015/04/28 Python
Python request设置HTTPS代理代码解析
2018/02/12 Python
详解利用python+opencv识别图片中的圆形(霍夫变换)
2019/07/01 Python
python实现获取单向链表倒数第k个结点的值示例
2019/10/24 Python
python读写Excel表格的实例代码(简单实用)
2019/12/19 Python
Python使用paramiko连接远程服务器执行Shell命令的实现
2021/03/04 Python
TripAdvisor斯洛伐克:阅读评论、比较价格和酒店预订
2018/04/25 全球购物
French Connection官网:女装、男装及家居用品
2019/03/18 全球购物
接口可以包含哪些成员
2012/09/30 面试题
感恩母亲节活动方案
2014/03/04 职场文书
奥巴马上海演讲稿
2014/09/10 职场文书
2014乡党委副书记党建工作汇报材料
2014/11/02 职场文书
2014幼儿园大班工作总结
2014/11/10 职场文书
2014年个人教学工作总结
2014/12/09 职场文书
2015年世界环境日演讲稿
2015/03/18 职场文书