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 将字符串转换成字典dict
Mar 24 Python
wxPython框架类和面板类的使用实例
Sep 28 Python
python中list循环语句用法实例
Nov 10 Python
举例详解Python中的split()函数的使用方法
Apr 07 Python
python字典基本操作实例分析
Jul 11 Python
Python 循环终止语句的三种方法小结
Jun 24 Python
python写程序统计词频的方法
Jul 29 Python
python中return的返回和执行实例
Dec 24 Python
python中slice参数过长的处理方法及实例
Dec 15 Python
python+selenium小米商城红米K40手机自动抢购的示例代码
Mar 24 Python
OpenCV-Python实现人脸美白算法的实例
Jun 11 Python
详解Golang如何实现支持随机删除元素的堆
Sep 23 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
phpmyadmin MySQL 加密配置方法
2009/07/05 PHP
PHP判断文件是否存在、是否可读、目录是否存在的代码
2012/10/03 PHP
[原创]php常用字符串输出方法分析(echo,print,printf及sprintf)
2016/07/09 PHP
PHP PDOStatement::fetch讲解
2019/01/31 PHP
PHP常见字符串操作函数与用法总结
2019/03/04 PHP
浅析用prototype定义自己的方法
2013/11/14 Javascript
Extjs根据条件设置表格某行背景色示例
2014/07/23 Javascript
jQuery实现统计复选框选中数量
2014/11/24 Javascript
nodejs开发微博实例
2015/03/25 NodeJs
使用CoffeeScrip优美方式编写javascript代码
2015/10/28 Javascript
gulp-uglify 与gulp.watch()配合使用时报错(重复压缩问题)
2016/08/24 Javascript
微信小程序开发中的疑问解答汇总
2017/07/03 Javascript
深入浅析Vue中的Prop
2018/06/10 Javascript
vue实现引入本地json的方法分析
2018/07/12 Javascript
Node.js文本文件BOM头的去除方法
2020/11/22 Javascript
Python基于正则表达式实现检查文件内容的方法【文件检索】
2017/08/30 Python
python 3.0 模拟用户登录功能并实现三次错误锁定
2017/11/01 Python
基于python实现生成指定大小txt文档
2020/07/20 Python
使用CSS Grid布局实现网格的流动
2014/12/30 HTML / CSS
Canvas实现放大镜效果完整案例分析(附代码)
2020/11/26 HTML / CSS
意大利拉斐尔时尚购物网:Raffaello Network(支持中文)
2018/11/09 全球购物
阿迪达斯中国官网:Adidas中国
2020/12/14 全球购物
护理专业毕业生自我鉴定
2013/10/08 职场文书
大学毕业自我鉴定范文
2014/02/03 职场文书
有兼职工作经历的简历自我评价
2014/03/07 职场文书
国窖1573广告词
2014/03/21 职场文书
文明寝室申报材料
2014/05/12 职场文书
和睦家庭事迹
2014/05/14 职场文书
《我的伯父鲁迅先生》教学反思
2016/02/16 职场文书
2019大学毕业晚会主持词
2019/06/21 职场文书
中国式结婚:司仪主持词(范文)
2019/07/25 职场文书
七年级作文(600字3篇)
2019/09/24 职场文书
Python matplotlib可视化之绘制韦恩图
2022/02/24 Python
关于Nginx中虚拟主机的一些冷门知识小结
2022/03/03 Servers
mysql中DCL常用的用户和权限控制
2022/03/31 MySQL
HTML5中的DOCUMENT.VISIBILITYSTATE属性详解
2023/05/07 HTML / CSS