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计算方程式根的方法
May 07 Python
基础的十进制按位运算总结与在Python中的计算示例
Jun 28 Python
Python 使用类写装饰器的小技巧
Sep 30 Python
pyttsx3实现中文文字转语音的方法
Dec 24 Python
实例讲解Python中整数的最大值输出
Mar 17 Python
Django如何防止定时任务并发浅析
May 14 Python
解决TensorFlow训练内存不断增长,进程被杀死问题
Feb 05 Python
Python制作简易版小工具之计算天数的实现思路
Feb 13 Python
Django admin组件的使用
Oct 24 Python
Django权限控制的使用
Jan 07 Python
python实现腾讯滑块验证码识别
Apr 27 Python
Python NumPy灰度图像的压缩原理讲解
Aug 04 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
深入PHP购物车模块功能分析(函数讲解,附源码)
2013/06/25 PHP
PHP实现HTTP断点续传的方法
2015/06/17 PHP
Laravel 5.5基于内置的Auth模块实现前后台登陆详解
2017/12/21 PHP
PHP中通过getopt解析GNU C风格命令行选项
2019/11/18 PHP
IE中radio 或checkbox的checked属性初始状态下不能选中显示问题
2009/07/25 Javascript
基于jquery实现的服务器验证控件的启用和禁用代码
2010/04/27 Javascript
js onkeypress与onkeydown 事件区别详细说明
2012/12/13 Javascript
js跳转页面方法总结
2014/01/29 Javascript
JavaScript实现班级随机点名小应用需求的具体分析
2014/05/12 Javascript
JS实现网页上随机产生超链接地址的方法
2015/11/09 Javascript
JS判断是否长按某一键的方法
2016/03/02 Javascript
基于JS+Canves实现点击按钮水波纹效果
2016/09/15 Javascript
JS中BOM相关知识点总结(必看篇)
2016/11/22 Javascript
js时间控件只显示年月
2017/01/08 Javascript
微信小程序使用video组件播放视频功能示例【附源码下载】
2017/12/08 Javascript
如何使用CSS3+JQuery实现悬浮墙式菜单
2019/06/18 jQuery
微信自定义分享链接信息(标题,图片和内容)实现过程详解
2019/09/04 Javascript
详解vue 中 scoped 样式作用域的规则
2020/09/14 Javascript
Python中使用Flask、MongoDB搭建简易图片服务器
2015/02/04 Python
Python接收Gmail新邮件并发送到gtalk的方法
2015/03/10 Python
Python单元测试实例详解
2018/05/25 Python
Python 函数返回值的示例代码
2019/03/11 Python
Python完成毫秒级抢淘宝大单功能
2019/06/06 Python
对python中的float除法和整除法的实例详解
2019/07/20 Python
django删除表重建的实现方法
2019/08/28 Python
Python3监控windows,linux系统的CPU、硬盘、内存使用率和各个端口的开启情况详细代码实例
2020/03/18 Python
python 串行执行和并行执行实例
2020/04/30 Python
倩碧英国官网:Clinique英国
2018/08/10 全球购物
init进程的作用
2015/08/20 面试题
室内设计实习自我鉴定
2013/09/25 职场文书
行政助理岗位职责
2013/11/10 职场文书
乡镇干部十八大感言
2014/02/17 职场文书
公务员政审个人鉴定
2014/02/25 职场文书
党员个人整改措施
2014/10/24 职场文书
毕业典礼邀请函
2015/01/31 职场文书
优秀学生主要事迹怎么写
2015/11/04 职场文书