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的Django框架中的模版继承
Jul 16 Python
python取数作为临时极大值(极小值)的方法
Oct 15 Python
利用Pycharm断点调试Python程序的方法
Nov 29 Python
Python对excel文档的操作方法详解
Dec 10 Python
python3 selenium自动化 下拉框定位的例子
Aug 23 Python
使用python将excel数据导入数据库过程详解
Aug 27 Python
Python中顺序表原理与实现方法详解
Dec 03 Python
Python中sys模块功能与用法实例详解
Feb 26 Python
Python 读写 Matlab Mat 格式数据的操作
May 19 Python
python基础学习之递归函数知识总结
May 26 Python
python中数组和列表的简单实例
Mar 25 Python
python 使用pandas读取csv文件的方法
Dec 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中字符集转换iconv函数使用总结
2014/10/11 PHP
php生成二维码图片方法汇总
2016/12/17 PHP
PHP中使用jQuery+Ajax实现分页查询多功能操作(示例讲解)
2017/09/17 PHP
10个新的最有前途的JavaScript框架
2009/03/12 Javascript
用JQuery 实现AJAX加载XML并解析的脚本
2009/07/25 Javascript
jquery ajax 登录验证实现代码
2009/09/23 Javascript
node.js中的console.assert方法使用说明
2014/12/10 Javascript
6种javascript显示当前系统时间代码
2015/12/01 Javascript
轻松实现JavaScript图片切换
2016/01/12 Javascript
js实现的xml对象转json功能示例
2016/12/24 Javascript
jQuery动态移除和添加背景图片的方法详解
2017/03/07 Javascript
JS仿QQ好友列表展开、收缩功能(第一篇)
2017/07/07 Javascript
Vue 2.0入门基础知识之内部指令详解
2017/10/15 Javascript
微信小程序实现跟随菜单效果和循环嵌套加载数据
2017/11/21 Javascript
js数组常用最重要的方法
2018/02/04 Javascript
vue.js购物车添加商品组件的方法
2019/09/17 Javascript
Vue 防止短时间内连续点击后多次触发请求的操作
2020/11/11 Javascript
五句话帮你轻松搞定js原型链
2020/12/09 Javascript
[06:10]6.81新信使新套装!给你一个炫酷的DOTA2
2014/05/06 DOTA
[02:12]Dota 2 推出全新英雄—— 电炎绝手
2019/08/23 DOTA
Python自定义类的数组排序实现代码
2016/08/28 Python
python实现内存监控系统
2021/03/07 Python
通过python将大量文件按修改时间分类的方法
2018/10/17 Python
Python3+Appium安装使用教程
2019/07/05 Python
python实现切割url得到域名、协议、主机名等各个字段的例子
2019/07/25 Python
python定义类self用法实例解析
2020/01/22 Python
pycharm快捷键汇总
2020/02/14 Python
丝芙兰巴西官方商城:SEPHORA巴西
2016/10/31 全球购物
试述DBMS的主要功能
2016/11/13 面试题
运动会入场式解说词
2014/02/18 职场文书
廉洁校园实施方案
2014/05/25 职场文书
领导班子自我剖析材料
2014/08/16 职场文书
复兴之路展览观后感
2015/06/02 职场文书
排球赛新闻稿
2015/07/17 职场文书
CSS完成视差滚动效果
2021/04/27 HTML / CSS
如何用JS实现简单的数据监听
2021/05/06 Javascript