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脚本实现分析dns日志并对受访域名排行
Sep 18 Python
Python可跨平台实现获取按键的方法
Mar 05 Python
Python的Flask框架中的Jinja2模板引擎学习教程
Jun 30 Python
详解python实现线程安全的单例模式
Mar 05 Python
python批量修改图片大小的方法
Jul 24 Python
python截取两个单词之间的内容方法
Dec 25 Python
PyQt4编程之让状态栏显示信息的方法
Jun 18 Python
python之列表推导式的用法
Nov 29 Python
pycharm无法导入本地模块的解决方式
Feb 12 Python
TensorFlow使用Graph的基本操作的实现
Apr 22 Python
解决django框架model中外键不落实到数据库问题
May 20 Python
python时间time模块处理大全
Oct 25 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
新浪SAE云平台下使用codeigniter的数据库配置
2014/06/12 PHP
PHP基于数组实现的分页函数实例
2014/08/20 PHP
PHP程序员常见的40个陋习,你中了几个?
2014/11/20 PHP
在WordPress中获取数据库字段内容和添加主题设置菜单
2016/01/11 PHP
PHP对象链式操作实现原理分析
2016/10/09 PHP
Laravel使用PHPQRCODE实现生成带有LOGO的二维码图片功能示例
2017/07/07 PHP
PHP使Laravel为JSON REST API返回自定义错误的问题
2018/10/16 PHP
laravel框架邮箱认证实现方法详解
2019/11/22 PHP
写JQuery插件的基本知识
2013/11/25 Javascript
JS Loading功能的简单实现
2013/11/29 Javascript
jquery 绑定回车动作扑捉回车键触发的事件
2014/03/26 Javascript
纯HTML5制作围住神经猫游戏-附源码下载
2015/08/23 Javascript
jquery正则表达式验证(手机号、身份证号、中文名称)
2015/12/31 Javascript
AngularJS基础 ng-repeat 指令简单示例
2016/08/03 Javascript
详解Angular2组件之间如何通信
2017/06/22 Javascript
Angular2 http jsonp的实例详解
2017/08/31 Javascript
vue+webpack 更换主题N种方案优劣分析
2019/10/28 Javascript
在Vue中创建可重用的 Transition的方法
2020/06/02 Javascript
基于jQuery拖拽事件的封装
2020/11/29 jQuery
react项目从新建到部署的实现示例
2021/02/19 Javascript
[42:34]VP vs VG 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
Python实现将绝对URL替换成相对URL的方法
2015/06/28 Python
Python 多线程的实例详解
2017/09/07 Python
python读取文本绘制动态速度曲线
2018/06/21 Python
学生信息管理系统Python面向对象版
2019/01/30 Python
Pytorch 抽取vgg各层并进行定制化处理的方法
2019/08/20 Python
python爬虫爬取某网站视频的示例代码
2021/02/20 Python
HTML5中视频音频的使用详解
2017/07/07 HTML / CSS
日本高岛屋百货购物网站:TAKASHIMAYA
2019/03/24 全球购物
竞争性谈判邀请书
2014/02/06 职场文书
幼儿园教学随笔感言
2014/02/23 职场文书
幼儿园辞职信
2015/05/13 职场文书
大学生党员暑假实践(活动总结)
2019/08/21 职场文书
2019年公司快递收发管理制度模板
2019/11/20 职场文书
MySQL不使用order by实现排名的三种思路总结
2021/06/02 MySQL
HTML+CSS实现导航条下拉菜单的示例代码
2021/08/02 HTML / CSS