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 11 Python
python3中zip()函数使用详解
Jun 29 Python
python爬虫超时的处理的实例
Dec 19 Python
Python3远程监控程序的实现方法
Jul 15 Python
Python3.0 实现决策树算法的流程
Aug 08 Python
Python 类属性与实例属性,类对象与实例对象用法分析
Sep 20 Python
Python面向对象中类(class)的简单理解与用法分析
Feb 21 Python
深入理解Tensorflow中的masking和padding
Feb 24 Python
python实现FTP循环上传文件
Mar 20 Python
keras model.fit 解决validation_spilt=num 的问题
Jun 19 Python
解决Keras使用GPU资源耗尽的问题
Jun 22 Python
解析python 中/ 和 % 和 //(地板除)
Jun 28 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
使用网络地址转换实现多服务器负载均衡
2006/10/09 PHP
php遍历目录与文件夹的多种方法详解
2013/11/14 PHP
smarty中js的调用方法示例
2014/10/27 PHP
php上传中文文件名乱码问题处理方案
2015/02/03 PHP
PHP 实现的将图片转换为TXT
2015/10/21 PHP
thinkPHP框架中执行事务的方法示例
2018/05/31 PHP
PHP笛卡尔积实现原理及代码实例
2020/12/09 PHP
jQuery AJAX 调用WebService实现代码
2010/03/24 Javascript
解决jquery版本冲突的有效方法
2014/09/02 Javascript
理解Angular数据双向绑定
2016/01/10 Javascript
详解JS面向对象编程
2016/01/24 Javascript
Bootstrap 最常用的JS插件系列总结(图片轮播、标签切换等)
2016/07/14 Javascript
angularjs指令之绑定策略(@、=、&)
2017/04/13 Javascript
详解vue-router 2.0 常用基础知识点之导航钩子
2017/05/10 Javascript
Vue动态修改网页标题的方法及遇到问题
2019/06/09 Javascript
js实现旋转木马轮播图效果
2020/01/10 Javascript
JavaScript组合设计模式--改进引入案例分析
2020/05/23 Javascript
Vue单页面应用中实现Markdown渲染
2021/02/14 Vue.js
python批量读取txt文件为DataFrame的方法
2018/04/03 Python
python 将数据保存为excel的xls格式(实例讲解)
2018/05/03 Python
Python解析命令行读取参数之argparse模块
2019/07/26 Python
基于Python 的语音重采样函数解析
2020/07/06 Python
CSS3中颜色线性渐变实战
2015/07/18 HTML / CSS
Ruby中的保护方法和私有方法与一般面向对象程序设计语言的一样吗
2013/05/01 面试题
师范生自荐信
2013/10/27 职场文书
应届毕业生专业个人求职自荐信格式
2013/11/20 职场文书
英语自荐信常用语句
2013/12/13 职场文书
会计电算化专业毕业生自荐信
2013/12/20 职场文书
工作个人的自我评价
2014/01/14 职场文书
幼儿园儿童节主持词
2014/03/21 职场文书
竞选班干部的演讲稿
2014/04/24 职场文书
优秀教师单行材料
2014/12/16 职场文书
期中考试复习计划
2015/01/19 职场文书
担保书格式范文
2015/09/22 职场文书
《圆明园的毁灭》教学反思
2016/02/16 职场文书
5行Python代码实现一键批量扣图
2021/06/29 Python