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 元类使用说明
Dec 18 Python
python实现数独算法实例
Jun 09 Python
pandas把dataframe转成Series,改变列中值的类型方法
Apr 10 Python
python监控文件并且发送告警邮件
Jun 21 Python
Python多线程应用于自动化测试操作示例
Dec 06 Python
对Python的多进程锁的使用方法详解
Feb 18 Python
jupyter 实现notebook中显示完整的行和列
Apr 09 Python
python3:excel操作之读取数据并返回字典 + 写入的案例
Sep 01 Python
python在linux环境下安装skimage的示例代码
Oct 14 Python
python输出国际象棋棋盘的实例分享
Nov 26 Python
flask项目集成swagger的方法
Dec 09 Python
Python 文本滚动播放器的实现代码
Apr 25 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 会话(session 时间设定)使用入门代码
2008/06/05 PHP
laravel5.2实现区分前后台用户登录的方法
2017/01/11 PHP
Laravel框架Auth用户认证操作实例分析
2019/09/29 PHP
让您的菜单不离网站
2006/10/03 Javascript
当鼠标移动到图片上时跟随鼠标显示放大的图片效果
2013/06/06 Javascript
Javascript操作URL函数修改版
2013/11/07 Javascript
nodejs命令行参数处理模块commander使用实例
2014/09/17 NodeJs
jQuery插件zepto.js简单实现tab切换
2015/06/16 Javascript
JavaScript实现倒计时代码段Item1(非常实用)
2015/11/03 Javascript
jQueryUI Datepicker组件设置日期高亮
2016/10/13 Javascript
vue构建单页面应用实战
2017/04/10 Javascript
javascript数组去重常用方法实例分析
2017/04/11 Javascript
angular过滤器实现排序功能
2017/06/27 Javascript
angular4模块中给标签添加背景图的实现方法
2017/09/15 Javascript
详解基于vue-cli配置移动端自适应
2018/01/13 Javascript
vue-quill-editor+plupload富文本编辑器实例详解
2018/10/19 Javascript
Vue v-text指令简单使用方法示例
2019/09/19 Javascript
python进阶教程之文本文件的读取和写入
2014/08/29 Python
tensorflow中next_batch的具体使用
2018/02/02 Python
Python实现读写INI配置文件的方法示例
2018/06/09 Python
pandas 数据索引与选取的实现方法
2019/06/21 Python
css3针对移动端卡顿问题的解决(动画性能优化)
2020/02/14 HTML / CSS
让IE支持HTML5的方法
2012/12/11 HTML / CSS
Michael Kors美国官网:美式奢侈生活风格的代表
2016/11/25 全球购物
TUMI澳大利亚网站:美国旅行箱包品牌
2017/03/27 全球购物
巴西最好的男鞋:Rafarillo
2018/05/25 全球购物
CHARLES & KEITH加拿大官网:新加坡时尚品牌
2020/03/26 全球购物
保荐人的岗位职责
2013/11/19 职场文书
婚庆公司的创业计划书
2014/01/22 职场文书
小学竞选班长演讲稿
2014/09/09 职场文书
2016预备党员培训心得体会
2016/01/08 职场文书
靠谱的活动总结
2019/04/16 职场文书
2019入党申请书格式和范文
2019/06/25 职场文书
基于Python绘制子图及子图刻度的变换等的问题
2021/05/23 Python
基于MySql验证的vsftpd虚拟用户
2021/11/07 MySQL