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中SOAP项目的介绍及其在web开发中的应用
Apr 14 Python
Python正确重载运算符的方法示例详解
Aug 27 Python
Windows下的Python 3.6.1的下载与安装图文详解(适合32位和64位)
Feb 21 Python
opencv改变imshow窗口大小,窗口位置的方法
Apr 02 Python
对python:print打印时加u的含义详解
Dec 15 Python
Python3几个常见问题的处理方法
Feb 26 Python
python3通过selenium爬虫获取到dj商品的实例代码
Apr 25 Python
python-pyinstaller、打包后获取路径的实例
Jun 10 Python
python jenkins 打包构建代码的示例代码
Nov 29 Python
解决Pycharm 导入其他文件夹源码的2种方法
Feb 12 Python
Python 利用OpenCV给照片换底色的示例代码
Aug 03 Python
pycharm2020.2 配置使用的方法详解
Sep 16 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/10/03 PHP
深入分析PHP引用(&)
2014/09/04 PHP
提高php编程效率技巧
2015/08/13 PHP
PHP curl模拟登录带验证码的网站
2015/11/30 PHP
PHP7匿名类用法分析
2016/09/26 PHP
PHP使用栈解决约瑟夫环问题算法示例
2017/08/27 PHP
解决jquery的.animate()函数在IE6下的问题
2010/12/03 Javascript
很棒的学习jQuery的12个网站推荐
2011/04/28 Javascript
通过JS自动隐藏手机浏览器的地址栏实现原理与代码
2013/01/02 Javascript
js和jquery分别验证单选框、复选框、下拉框
2015/12/17 Javascript
js HTML5 Ajax实现文件上传进度条功能
2016/02/13 Javascript
JavaScript无操作后屏保功能的实现方法
2017/07/04 Javascript
基于ExtJs在页面上window再调用Window的事件处理方法
2017/07/26 Javascript
Vue实现导航栏点击当前标签变色功能
2020/08/19 Javascript
深入学习JavaScript 高阶函数
2019/06/11 Javascript
nuxt.js 在middleware(中间件)中实现路由鉴权操作
2020/11/06 Javascript
[05:01]3.19DOTA2发布会 我们都是刀塔人
2014/03/25 DOTA
Python中的自省(反射)详解
2015/06/02 Python
JSONLINT:python的json数据验证库实例解析
2017/11/28 Python
python实现m3u8格式转换为mp4视频格式
2018/02/28 Python
Python中return self的用法详解
2018/07/27 Python
ipad上运行python的方法步骤
2019/10/12 Python
python 爬虫百度地图的信息界面的实现方法
2019/10/27 Python
python用requests实现http请求代码实例
2019/10/31 Python
Python3实现将一维数组按标准长度分隔为二维数组
2019/11/29 Python
利用html5 canvas破解简单验证码及getImageData接口应用
2013/01/25 HTML / CSS
法国在线宠物店:zooplus.fr
2018/02/23 全球购物
大学生毕业自我鉴定范文
2014/02/03 职场文书
《春晓》教学反思
2014/04/20 职场文书
美化环境标语
2014/06/20 职场文书
房地产资料员岗位职责
2014/07/02 职场文书
个人作风建设剖析材料
2014/10/11 职场文书
大明湖导游词
2015/02/03 职场文书
解决Mysql的left join无效及使用的注意事项说明
2021/07/01 MySQL
mysql 联合索引生效的条件及索引失效的条件
2021/11/20 MySQL