python实现的接收邮件功能示例【基于网易POP3服务器】


Posted in Python onSeptember 11, 2019

本文实例讲述了python实现的接收邮件功能。分享给大家供大家参考,具体如下:

一 简介

本代码实现从网易POP3服务器接收邮件

二 代码

import poplib
import re
import tkinter
class Window:
  def __init__(self,root):
    label1 = tkinter.Label(root,text='POP3')
    label2 = tkinter.Label(root,text='Port')
    label3 = tkinter.Label(root,text='用户名')
    label4 = tkinter.Label(root,text='密码')
    label1.place(x=5,y=5)
    label2.place(x=5,y=30)
    label3.place(x=5,y=55)
    label4.place(x=5,y=80)
    self.entryPop = tkinter.Entry(root)
    self.entryPort = tkinter.Entry(root)
    self.entryUser = tkinter.Entry(root)
    self.entryPass = tkinter.Entry(root,show = '*')
    self.entryPort.insert(tkinter.END,'110')
    self.entryPop.place(x=50,y=5)
    self.entryPort.place(x=50,y=30)
    self.entryUser.place(x=50,y=55)
    self.entryPass.place(x=50,y=80)
    self.get = tkinter.Button(root,text='收取邮件',command = self.Get)
    self.get.place(x=60,y=120)
    self.text=tkinter.Text(root)
    self.text.place(y=150)
  def Get(self):
    try:
      host = self.entryPop.get()
      port =int(self.entryPort.get())
      user = self.entryUser.get()
      pw = self.entryPass.get()
      pop=poplib.POP3(host)
      pop.user(user)
      pop.pass_(pw)
      stat=pop.stat()
      self.text.insert(tkinter.END,'Staus:%d message(s),%d bytes\n' % stat)
      rx_headers = re.compile(r"^(From|To|Subject)")
      for n in range(stat[0]):
        response,lines,bytes = pop.top(n+1,10)
        self.text.insert(tkinter.END,"Message %d (%d bytes)\n" % (n+1,bytes))
        self.text.insert(tkinter.END,"-"*30+'\n')
        str_lines=[]
        for l in lines:
          str_lines.append(l.decode(encoding = 'utf-8'))
        self.text.insert(tkinter.END,"\n".join(filter(rx_headers.match,str_lines)))
        self.text.insert(tkinter.END,'\n')
        self.text.insert(tkinter.END,"-"*30+'\n')
    except Exception as e:
        self.text.insert(tkinter.END,'接收错误\n')
root =tkinter.Tk()
window=Window(root)
root.mainloop()

三 运行结果

python实现的接收邮件功能示例【基于网易POP3服务器】

更多关于Python相关内容可查看本站专题:《Python Socket编程技巧总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
python字典多条件排序方法实例
Jun 30 Python
Python下的twisted框架入门指引
Apr 15 Python
浅析Python编写函数装饰器
Mar 18 Python
Python实现通讯录功能
Feb 22 Python
对python .txt文件读取及数据处理方法总结
Apr 23 Python
只需7行Python代码玩转微信自动聊天
Jan 27 Python
Python中的集合介绍
Jan 28 Python
Pycharm 文件更改目录后,执行路径未更新的解决方法
Jul 19 Python
通过 Python 和 OpenCV 实现目标数量监控
Jan 05 Python
tensorflow 固定部分参数训练,只训练部分参数的实例
Jan 20 Python
python使用多线程+socket实现端口扫描
May 28 Python
Spy++的使用方法及下载教程
Jan 29 Python
python实现的发邮件功能示例
Sep 11 #Python
python 字符串常用函数详解
Sep 11 #Python
python sqlite的Row对象操作示例
Sep 11 #Python
Python lambda表达式filter、map、reduce函数用法解析
Sep 11 #Python
python针对mysql数据库的连接、查询、更新、删除操作示例
Sep 11 #Python
Python range、enumerate和zip函数用法详解
Sep 11 #Python
Python 实现文件读写、坐标寻址、查找替换功能
Sep 11 #Python
You might like
php中apc缓存使用示例
2013/12/25 PHP
php实现批量压缩图片文件大小的脚本
2014/07/04 PHP
php使用cookie保存登录用户名的方法
2015/01/26 PHP
在win系统安装配置 Memcached for PHP 5.3 图文教程
2015/03/03 PHP
利用Homestead快速运行一个Laravel项目的方法详解
2017/11/14 PHP
PDO::errorCode讲解
2019/01/28 PHP
将HTML自动转为JS代码
2006/06/26 Javascript
jQuery中append、insertBefore、after与insertAfter的简单用法与注意事项
2020/04/04 Javascript
JS target与currentTarget区别说明
2011/08/28 Javascript
JavaScript在for循环中绑定事件解决事件参数不同的情况
2014/01/20 Javascript
Node.js 服务器端应用开发框架 -- Hapi.js
2014/07/29 Javascript
javascript中实现兼容JAVA的hashCode算法代码分享
2020/08/11 Javascript
javascript框架设计之类工厂
2015/06/23 Javascript
Jquery UI实现一次拖拽多个选中的元素操作
2020/12/01 Javascript
详解如何使用webpack打包Vue工程
2017/05/27 Javascript
AngularJS中使用three.js的实例详解
2017/07/21 Javascript
jQuery 点击获取验证码按钮及倒计时功能
2018/09/20 jQuery
基于vue和react的spa进行按需加载的实现方法
2018/09/29 Javascript
vue组件从开发到发布的实现步骤
2018/11/11 Javascript
JavaScript实现轮播图效果代码实例
2019/09/28 Javascript
JavaScript实现网页下拉菜单效果
2020/11/20 Javascript
Python Deque 模块使用详解
2014/07/04 Python
200行自定义python异步非阻塞Web框架
2017/03/15 Python
Python判断两个对象相等的原理
2017/12/12 Python
Python面向对象程序设计类的多态用法详解
2019/04/12 Python
Python多进程入门、分布式进程数据共享实例详解
2019/06/03 Python
python中plt.imshow与cv2.imshow显示颜色问题
2020/07/16 Python
Python连接mysql方法及常用参数
2020/09/01 Python
详解Python openpyxl库的基本应用
2021/02/26 Python
基于注解实现 SpringBoot 接口防刷的方法
2021/03/02 Python
波兰品牌内衣及泳装网上商店:Astratex.pl
2017/02/03 全球购物
售后服务经理岗位职责
2014/02/25 职场文书
男女朋友协议书
2014/04/23 职场文书
公司年会策划方案
2014/05/17 职场文书
法人单位适用的授权委托书
2014/09/19 职场文书
放假通知范文
2015/04/14 职场文书