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爬取网易云音乐热门评论
Mar 31 Python
Python利用matplotlib生成图片背景及图例透明的效果
Apr 27 Python
django 使用 request 获取浏览器发送的参数示例代码
Jun 11 Python
Python3内置模块之json编解码方法小结【推荐】
Dec 09 Python
python查找重复图片并删除(图片去重)
Jul 16 Python
tensorflow实现打印ckpt模型保存下的变量名称及变量值
Jan 04 Python
python 获取当前目录下的文件目录和文件名实例代码详解
Mar 10 Python
Python RabbitMQ实现简单的进程间通信示例
Jul 02 Python
python如何使用代码运行助手
Jul 03 Python
Python filter()及reduce()函数使用方法解析
Sep 05 Python
Python实现LR1文法的完整实例代码
Oct 25 Python
python playwright之元素定位示例详解
Jul 23 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
要会喝咖啡也要会知道咖啡豆
2021/03/03 咖啡文化
PHP5 安装方法
2007/01/15 PHP
PHP 类相关函数的使用详解
2013/05/10 PHP
Mac系统下使用brew搭建PHP(LNMP/LAMP)开发环境
2015/03/03 PHP
php使用for语句输出三角形的方法
2015/06/09 PHP
php根据数据id自动生成编号的实现方法
2016/10/16 PHP
比较简单的异步加载JS文件的代码
2009/07/18 Javascript
javascript检测对象中是否存在某个属性判断方法小结
2013/05/19 Javascript
JAVASCRIPT模式窗口中下载文件无法接收iframe的流
2013/10/11 Javascript
使用JavaScript刷新网页的方法
2015/06/04 Javascript
D3.js实现柱状图的方法详解
2016/09/21 Javascript
JavaScript数据结构之数组的表示方法示例
2017/04/12 Javascript
微信小程序实现打卡日历功能
2020/09/21 Javascript
vue cli 3.0通用打包配置代码,不分一二级目录
2020/09/02 Javascript
[04:04]显微镜下的DOTA2第六期——电影级别的华丽团战
2014/06/20 DOTA
python清理子进程机制剖析
2017/11/23 Python
python命令行参数用法实例分析
2019/06/25 Python
python networkx 根据图的权重画图实现
2019/07/10 Python
Python实现蒙特卡洛算法小实验过程详解
2019/07/12 Python
python 内置函数汇总详解
2019/09/16 Python
Tkinter中复选菜单是否被选中的判断与设置方式
2020/03/04 Python
html5使用canvas实现图片下载功能的示例代码
2017/08/26 HTML / CSS
基于Html5实现的react拖拽排序组件示例
2018/08/13 HTML / CSS
html5的画布canvas——画出弧线、旋转的图形实例代码+效果图
2013/06/09 HTML / CSS
国外平面设计素材网站:The Hungry JPEG
2017/03/28 全球购物
HearthSong官网:儿童户外玩具、儿童益智玩具
2017/10/16 全球购物
Ray-Ban雷朋西班牙官网:全球领先的太阳眼镜品牌
2018/11/28 全球购物
华纳兄弟工作室的官方授权商店:WB Shop
2018/11/30 全球购物
英国办公家具网站:Furniture At Work
2019/10/07 全球购物
C/C++ 笔试、面试题目大汇总
2015/11/21 面试题
个人求职简历的自我评价范文
2013/10/09 职场文书
业务经理的岗位职责
2013/11/16 职场文书
贷款承诺书范文
2014/05/19 职场文书
违规违纪检讨书范文
2015/05/06 职场文书
2015年暑期实践报告范文
2015/07/13 职场文书
干部培训简讯
2015/07/20 职场文书