python通过微信发送邮件实现电脑关机


Posted in Python onJune 20, 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实现给数组按片赋值的方法
Jul 28 Python
python 回调函数和回调方法的实现分析
Mar 23 Python
Python中内建函数的简单用法说明
May 05 Python
Python连接数据库学习之DB-API详解
Feb 07 Python
python用fsolve、leastsq对非线性方程组求解
Dec 15 Python
Python3爬虫教程之利用Python实现发送天气预报邮件
Dec 16 Python
在python里从协程返回一个值的示例
Feb 19 Python
python 动态迁移solr数据过程解析
Sep 04 Python
python 默认参数相关知识详解
Sep 18 Python
在Matplotlib图中插入LaTex公式实例
Apr 17 Python
详解PyQt5中textBrowser显示print语句输出的简单方法
Aug 07 Python
python 如何做一个识别率百分百的OCR
May 29 Python
python定时关机小脚本
Jun 20 #Python
Django + Uwsgi + Nginx 实现生产环境部署的方法
Jun 20 #Python
python实现电脑自动关机
Jun 20 #Python
python3将视频流保存为本地视频文件
Jun 20 #Python
Python操作MySQL数据库的方法
Jun 20 #Python
python实现抖音视频批量下载
Jun 20 #Python
Python 类的特殊成员解析
Jun 20 #Python
You might like
SONY ICF-SW7600的电路分析
2021/03/02 无线电
php中的观察者模式
2010/03/24 PHP
Zend Framework前端控制器用法示例
2016/12/11 PHP
JavaScript 判断日期格式是否正确的实现代码
2011/07/04 Javascript
js比较和逻辑运算符的介绍
2013/03/10 Javascript
图片上传插件jquery.uploadify详解
2013/11/15 Javascript
分享Javascript中最常用的55个经典小技巧
2013/11/29 Javascript
Jquery插件easyUi表单验证提交(示例代码)
2013/12/30 Javascript
JS将光标聚焦在文本最后的实现代码
2014/03/28 Javascript
14款经典网页图片和文字特效的jQuery插件-前端开发必备
2015/08/25 Javascript
详解jQuery选择器
2016/12/21 Javascript
Angular 4依赖注入学习教程之InjectToken的使用(八)
2017/06/04 Javascript
vue.js2.0 实现better-scroll的滚动效果实例详解
2018/08/13 Javascript
vue解决弹出蒙层滑动穿透问题的方法
2018/09/22 Javascript
javascript中join方法实例讲解
2019/02/21 Javascript
JavaScript实现旋转木马轮播图
2020/03/16 Javascript
vue+ESLint 配置保存 自动格式化代码
2020/03/17 Javascript
用于业余项目的8个优秀Python库
2018/09/21 Python
在python中利用opencv简单做图片比对的方法
2019/01/24 Python
Python实现从SQL型数据库读写dataframe型数据的方法【基于pandas】
2019/03/18 Python
Python笔试面试题小结
2019/09/07 Python
django多种支付、并发订单处理实例代码
2019/12/13 Python
python 的topk算法实例
2020/04/02 Python
浅谈python 类方法/静态方法
2020/09/18 Python
Crocs美国官方网站:卡骆驰洞洞鞋
2017/08/04 全球购物
如何判断一段程序是由C 编译程序还是由C++编译程序编译的
2013/08/04 面试题
.NET方向面试题
2014/11/20 面试题
简单的辞职信范文
2014/01/18 职场文书
财务会计自荐信范文
2014/02/21 职场文书
超市优秀员工事迹材料
2014/05/01 职场文书
贫困证明书格式及范文
2014/10/15 职场文书
2016十一国庆节感言
2015/12/09 职场文书
2016年国庆节假期旅游工作总结
2016/04/01 职场文书
读《解忧杂货店》有感:请相信一切都是最好的安排
2019/11/07 职场文书
python异常中else的实例用法
2021/06/15 Python
2021年最新用于图像处理的Python库总结
2021/06/15 Python