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使用三角迭代计算圆周率PI的方法
Mar 20 Python
Pandas探索之高性能函数eval和query解析
Oct 28 Python
Python设计模式之MVC模式简单示例
Jan 10 Python
使用pandas中的DataFrame数据绘制柱状图的方法
Apr 10 Python
Python数据报表之Excel操作模块用法分析
Mar 11 Python
python如何删除文件中重复的字段
Jul 16 Python
python匿名函数用法实例分析
Aug 03 Python
Django中提供的6种缓存方式详解
Aug 05 Python
python实现爬虫抓取小说功能示例【抓取金庸小说】
Aug 09 Python
keras模型可视化,层可视化及kernel可视化实例
Jan 24 Python
python openpyxl模块的使用详解
Feb 25 Python
Pytorch实现WGAN用于动漫头像生成
Mar 04 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的时间戳与具体时间转化的简单实现
2016/06/13 PHP
yii2使用gridView实现下拉列表筛选数据
2017/04/10 PHP
基于JavaScript实现继承机制之原型链(prototype chaining)的详解
2013/05/07 Javascript
jQuery实现随意改变div任意属性的名称和值(部分原生js实现)
2013/05/28 Javascript
js的onload事件及初始化按钮事件示例代码
2013/09/25 Javascript
JS不间断向上滚动效果代码
2013/12/25 Javascript
微信小程序 loading(加载中提示框)实例
2016/10/28 Javascript
基于jQuery实现照片墙自动播放特效
2017/01/12 Javascript
d3.js实现自定义多y轴折线图的示例代码
2018/05/30 Javascript
JS打印彩色菱形的实例代码
2018/08/15 Javascript
谈谈为什么你的 JavaScript 代码如此冗长
2019/01/30 Javascript
nodejs使用async模块同步执行的方法
2019/03/02 NodeJs
vue实现户籍管理系统
2020/05/29 Javascript
原生js+canvas实现下雪效果
2020/08/02 Javascript
python使用wmi模块获取windows下的系统信息 监控系统
2015/10/27 Python
Python设计模式之代理模式简单示例
2018/01/09 Python
用python实现百度翻译的示例代码
2018/03/09 Python
基于Django的乐观锁与悲观锁解决订单并发问题详解
2019/07/31 Python
Pyinstaller 打包exe教程及问题解决
2019/08/16 Python
关于pymysql模块的使用以及代码详解
2019/09/01 Python
Python pip配置国内源的方法
2020/02/14 Python
python通过文本在一个图中画多条线的实例
2020/02/21 Python
Python创建临时文件和文件夹
2020/08/05 Python
Django正则URL匹配实现流程解析
2020/11/13 Python
python脚本定时发送邮件
2020/12/22 Python
德国低价购买灯具和家具网站:Style-home.de
2016/11/25 全球购物
英国家电购物网站:Sonic Direct
2019/03/26 全球购物
美国传奇滑手Paul Rodriguez创办的街头滑板品牌:Primitive Skateboarding
2019/10/29 全球购物
公共场所禁烟标语
2014/06/25 职场文书
农民工工资保障承诺书
2015/05/04 职场文书
检察院起诉书
2015/05/20 职场文书
英语读书笔记
2015/07/02 职场文书
装修公司管理制度
2015/08/05 职场文书
大学生暑期社会实践的个人总结!
2019/07/17 职场文书
公文格式,规则明细(新手收藏)
2019/07/23 职场文书
nginx代理实现静态资源访问的示例代码
2022/07/07 Servers