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字符编码
Aug 03 Python
Python编程之列表操作实例详解【创建、使用、更新、删除】
Jul 22 Python
Python数据结构之顺序表的实现代码示例
Nov 15 Python
详解django中url路由配置及渲染方式
Feb 25 Python
python接口自动化(十六)--参数关联接口后传(详解)
Apr 16 Python
python实现名片管理系统项目
Apr 26 Python
Python 基于wxpy库实现微信添加好友功能(简洁)
Nov 29 Python
Pytorch中Tensor与各种图像格式的相互转化详解
Dec 26 Python
Python使用requests xpath 并开启多线程爬取西刺代理ip实例
Mar 06 Python
解决使用Pandas 读取超过65536行的Excel文件问题
Nov 10 Python
PyCharm 解决找不到新打开项目的窗口问题
Jan 15 Python
python将图片转为矢量图的方法步骤
Mar 30 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
PHP5 安装方法
2006/10/09 PHP
php根据日期判断星座的函数分享
2014/02/13 PHP
php中异常处理方法小结
2015/01/09 PHP
详谈phpAdmin修改密码后拒绝访问的问题
2017/04/03 PHP
用php定义一个数组最简单的方法
2019/10/04 PHP
style、 currentStyle、 runtimeStyle区别分析
2010/08/01 Javascript
ModelDialog JavaScript模态对话框类代码
2011/04/17 Javascript
20个最新的jQuery插件
2012/01/13 Javascript
jquery连缀语法如何实现
2012/11/29 Javascript
js正则表达式的使用详解
2013/07/09 Javascript
js中的hasOwnProperty和isPrototypeOf方法使用实例
2014/06/06 Javascript
js实现滑动触屏事件监听的方法
2015/05/05 Javascript
javascript自定义右键弹出菜单实现方法
2015/05/25 Javascript
js基于cookie记录来宾姓名的方法
2016/07/19 Javascript
jQuery UI制作选项卡(tabs)
2016/12/13 Javascript
javascript中call,apply,bind函数用法示例
2016/12/19 Javascript
vue2.0实战之使用vue-cli搭建项目(2)
2017/03/27 Javascript
用javascript获取任意颜色的更亮或更暗颜色值示例代码
2017/07/21 Javascript
用element的upload组件实现多图片上传和压缩的示例代码
2019/02/12 Javascript
深入解析koa之中间件流程控制
2019/06/17 Javascript
[01:04:01]2014 DOTA2华西杯精英邀请赛5 24 DK VS VG
2014/05/25 DOTA
[00:43]2016完美“圣”典风云人物:单车宣传片
2016/12/02 DOTA
Python中的下划线详解
2015/06/24 Python
详解使用Python处理文件目录的相关方法
2015/10/16 Python
深入理解python try异常处理机制
2016/06/01 Python
Python基础之字符串操作常用函数集合
2020/02/09 Python
Tensorflow 实现将图像与标签数据转化为tfRecord文件
2020/02/17 Python
基于python爬取链家二手房信息代码示例
2020/10/21 Python
python中使用.py配置文件的方法详解
2020/11/23 Python
亚洲颇具影响力的男性在线购物零售商:His
2019/11/24 全球购物
中学家长会邀请函
2014/01/17 职场文书
展会邀请函范文
2014/01/26 职场文书
干部作风建设工作总结
2014/10/29 职场文书
第二批党的群众路线教育实践活动个人整改方案
2014/10/31 职场文书
深入理解redis中multi与pipeline
2021/06/02 Redis
Java面试题冲刺第十八天--Spring框架3
2021/08/07 面试题