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中for循环详解
Jan 17 Python
分析Python的Django框架的运行方式及处理流程
Apr 08 Python
python中as用法实例分析
Apr 30 Python
Python实现根据IP地址和子网掩码算出网段的方法
Jul 30 Python
Python中单例模式总结
Feb 20 Python
python实现抖音视频批量下载
Jun 20 Python
Django使用paginator插件实现翻页功能的实例
Oct 24 Python
python卸载后再次安装遇到的问题解决
Jul 10 Python
python+rsync精确同步指定格式文件
Aug 29 Python
解决pyshp UnicodeDecodeError的问题
Dec 06 Python
python实现信号时域统计特征提取代码
Feb 26 Python
利用python实现后端写网页(flask框架)
Feb 28 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中$_SERVER的详细参数与说明介绍
2013/10/26 PHP
单点登录 Ucenter示例分析
2013/10/29 PHP
thinkphp框架下实现登录、注册、找回密码功能
2016/04/06 PHP
php 伪造HTTP_REFERER页面URL来源的三种方法
2016/09/22 PHP
php简单处理XML数据的方法示例
2017/05/19 PHP
Centos7.7 64位利用本地完整安装包安装lnmp/lamp套件教程
2021/03/09 Servers
了解jQuery技巧来提高你的代码
2010/01/08 Javascript
javascript 事件绑定问题
2011/01/01 Javascript
js拖拽一些常见的思路方法整理
2014/03/19 Javascript
jQuery的基本概念与高级编程
2015/05/14 Javascript
javascript随机显示背景图片的方法
2015/06/18 Javascript
js实现仿微博滚动显示信息的效果
2015/12/21 Javascript
JavaScript中for循环的几种写法与效率总结
2017/02/03 Javascript
Angular实现类似博客评论的递归显示及获取回复评论的数据
2017/11/06 Javascript
vue2中的keep-alive使用总结及注意事项
2017/12/21 Javascript
vue数据响应式原理知识点总结
2020/02/16 Javascript
JavaScript日期库date-fn.js使用方法解析
2020/09/09 Javascript
[01:31:22]DOTA2-DPC中国联赛定级赛 LBZS vs Magma BO3第二场 1月10日
2021/03/11 DOTA
关于Python元祖,列表,字典,集合的比较
2017/01/06 Python
Python中跳台阶、变态跳台阶与矩形覆盖问题的解决方法
2018/05/19 Python
50行Python代码获取高考志愿信息的实现方法
2019/07/23 Python
详解opencv中画圆circle函数和椭圆ellipse函数
2019/12/27 Python
Python利用Xpath选择器爬取京东网商品信息
2020/06/01 Python
Python3以GitHub为例来实现模拟登录和爬取的实例讲解
2020/07/30 Python
canvas实现手机的手势解锁的步骤详细
2020/03/16 HTML / CSS
澳大利亚著名的纺织品品牌:Canningvale
2020/05/05 全球购物
硕士研究生自我鉴定范文
2013/12/27 职场文书
小学毕业感言150字
2014/02/05 职场文书
精彩的广告词
2014/03/19 职场文书
毕业班联欢会主持词
2014/03/27 职场文书
医院搬迁方案
2014/06/14 职场文书
纪念九一八事变演讲稿:牢记历史,捍卫主权
2014/09/14 职场文书
部门群众路线教育实践活动对照检查材料思想汇报
2014/10/07 职场文书
部门2014年度工作总结
2014/11/12 职场文书
埃及王子观后感
2015/06/16 职场文书
Nginx图片服务器配置之后图片访问404的问题解决
2022/03/21 Servers