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动态加载变量示例分享
Feb 17 Python
Python模拟登录12306的方法
Dec 30 Python
Python在线运行代码助手
Jul 15 Python
Python网络爬虫与信息提取(实例讲解)
Aug 29 Python
python 中的divmod数字处理函数浅析
Oct 17 Python
Python3中的列表生成式、生成器与迭代器实例详解
Jun 11 Python
Python 创建新文件时避免覆盖已有的同名文件的解决方法
Nov 16 Python
Python 数据可视化pyecharts的使用详解
Jun 26 Python
python设置环境变量的作用和实例
Jul 09 Python
详解python环境安装selenium和手动下载安装selenium的方法
Mar 17 Python
Python GUI编程学习笔记之tkinter界面布局显示详解
Mar 30 Python
Python实现信息轰炸工具(再也不怕说不过别人了)
Jun 11 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
《一拳超人》埼玉一拳下去,他们存在了800年毫无意义!
2020/03/02 日漫
php下过滤HTML代码的函数
2007/12/10 PHP
基于xcache的配置与使用详解
2013/06/18 PHP
ThinkPHP实现跨模块调用操作方法概述
2014/06/20 PHP
PHP中的use关键字概述
2014/07/23 PHP
redis+php实现微博(二)发布与关注功能详解
2019/09/23 PHP
非常强大的 jQuery.AsyncBox 弹出对话框插件
2011/08/29 Javascript
用nodejs访问ActiveX对象,以操作Access数据库为例。
2011/12/15 NodeJs
js 固定悬浮效果实现思路代码
2013/08/02 Javascript
JavaScript instanceof 的使用方法示例介绍
2013/10/23 Javascript
Vue.js教程之axios与网络传输的学习实践
2017/04/29 Javascript
webpack进阶——缓存与独立打包的用法
2017/08/02 Javascript
JS实现验证码倒计时的注册页面
2018/01/02 Javascript
详解适配器在JavaScript中的体现
2018/09/28 Javascript
深入探讨JavaScript的最基本部分之执行上下文
2019/02/12 Javascript
express + jwt + postMan验证实现持久化登录
2019/06/05 Javascript
JavaScript 面向对象基础简单示例
2019/10/02 Javascript
Python开发常用的一些开源Package分享
2015/02/14 Python
Python单元测试框架unittest使用方法讲解
2015/04/13 Python
Python获取任意xml节点值的方法
2015/05/05 Python
使用Python编写简单的端口扫描器的实例分享
2015/12/18 Python
一文秒懂python读写csv xml json文件各种骚操作
2019/07/04 Python
Python 实现一个手机号码获取妹子名字的功能
2019/09/25 Python
python中的socket实现ftp客户端和服务器收发文件及md5加密文件
2020/04/01 Python
HTML5 Canvas渐进填充与透明实现图像的Mask效果
2013/07/11 HTML / CSS
html5页面结构_动力节点Java学院整理
2017/07/10 HTML / CSS
Bjorn Borg官方网上商店:国际运动时尚品牌
2016/08/27 全球购物
惠普加拿大在线商店:HP加拿大
2017/09/15 全球购物
Antonioli美国在线商店:时尚前卫奢华
2019/07/29 全球购物
企业演讲稿范文大全
2014/05/20 职场文书
2014乡镇干部纪律作风整顿思想汇报
2014/09/13 职场文书
开场白怎么写
2015/06/01 职场文书
优胜劣汰,强者为王——读《鲁滨逊漂流记》有感
2019/08/15 职场文书
自己搭建resnet18网络并加载torchvision自带权重的操作
2021/05/13 Python
Spring实现内置监听器
2021/07/09 Java/Android
vue整合百度地图显示指定地点信息
2022/04/06 Vue.js