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 25 Python
Python中使用装饰器和元编程实现结构体类实例
Jan 28 Python
pygame学习笔记(1):矩形、圆型画图实例
Apr 15 Python
Python中实现参数类型检查的简单方法
Apr 21 Python
python dataframe 输出结果整行显示的方法
Jun 14 Python
linux查找当前python解释器的位置方法
Feb 20 Python
深入了解和应用Python 装饰器 @decorator
Apr 02 Python
Django model select的多种用法详解
Jul 16 Python
基于Python fminunc 的替代方法
Feb 29 Python
Python如何使用队列方式实现多线程爬虫
May 12 Python
Python 线程池模块之多线程操作代码
May 20 Python
Matplotlib绘制混淆矩阵的实现
May 27 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
MYSQL环境变量设置方法
2007/01/15 PHP
PHP遍历某个目录下的所有文件和子文件夹的实现代码
2013/06/28 PHP
PHP借助phpmailer发送邮件
2015/05/11 PHP
PHP执行SQL文件并将SQL文件导入到数据库
2015/09/17 PHP
[原创]PHP实现字节数Byte转换为KB、MB、GB、TB的方法
2017/08/31 PHP
JavaScript中Math对象使用说明
2008/01/16 Javascript
jQuery 表单验证插件formValidation实现个性化错误提示
2009/06/23 Javascript
imgAreaSelect 中文文档帮助说明
2011/10/08 Javascript
jQuery中的AjaxSubmit使用讲解
2016/09/25 Javascript
jQuery post数据至ashx实例详解
2016/11/18 Javascript
ES6中Math对象的部分扩展
2017/02/20 Javascript
jQuery布局组件EasyUI Layout使用方法详解
2017/02/28 Javascript
微信小程序实现瀑布流布局与无限加载的方法详解
2017/05/12 Javascript
vue的toast弹窗组件实例详解
2018/05/14 Javascript
Jquery的autocomplete插件用法及参数讲解
2019/03/12 jQuery
解决layer.open弹出框不能获取input框的值为空的问题
2019/09/10 Javascript
[01:01:23]完美世界DOTA2联赛PWL S2 Forest vs FTD.C 第一场 11.26
2020/11/30 DOTA
python获取酷狗音乐top500的下载地址 MP3格式
2018/04/17 Python
python 多线程中子线程和主线程相互通信方法
2018/11/09 Python
Python实现将通信达.day文件读取为DataFrame
2018/12/22 Python
Python虚拟环境的原理及使用详解
2019/07/02 Python
PyTorch的torch.cat用法
2020/06/28 Python
Ubuntu16安装Python3.9的实现步骤
2020/12/15 Python
解决TensorFlow训练模型及保存数量限制的问题
2021/03/03 Python
html5实现移动端适配完美写法
2017/11/16 HTML / CSS
Merrell美国官网:美国登山运动鞋品牌
2018/02/07 全球购物
巴西手表购物网站:eclock
2019/03/19 全球购物
合同专员岗位职责
2013/12/18 职场文书
毕业生求职信的经典写法
2014/01/31 职场文书
餐饮收银员岗位职责
2014/02/07 职场文书
预备党员承诺书
2014/03/25 职场文书
四年级评语大全
2014/04/21 职场文书
安全生产月标语
2014/10/07 职场文书
拾金不昧表扬稿
2015/01/16 职场文书
通知怎么写?
2019/04/17 职场文书
MongoDB数据库部署环境准备及使用介绍
2022/03/21 MongoDB