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的re模块应用实例
Sep 26 Python
python实现在windows下操作word的方法
Apr 28 Python
Python导入oracle数据的方法
Jul 10 Python
Python的多维空数组赋值方法
Apr 13 Python
查看Django和flask版本的方法
May 14 Python
Tensorflow实现AlexNet卷积神经网络及运算时间评测
May 24 Python
Win8下python3.5.1安装教程
Jul 29 Python
对pandas中两种数据类型Series和DataFrame的区别详解
Nov 12 Python
python开头的coding设置方法
Aug 08 Python
浅谈python print(xx, flush = True) 全网最清晰的解释
Feb 21 Python
Python list列表删除元素的4种方法
Nov 01 Python
python超详细实现完整学生成绩管理系统
Mar 17 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 register_shutdown_function()函数的使用示例
2015/06/23 PHP
PHP使用PHPexcel导入导出数据的方法
2015/11/14 PHP
如何让动态插入的javascript脚本代码跑起来。
2007/01/09 Javascript
javascript:void(0)的真正含义实例分析
2008/08/20 Javascript
Ajax执行顺序流程及回调问题分析
2012/12/10 Javascript
基于jquery实现页面滚动到底自动加载数据的功能
2015/12/19 Javascript
基于javascript实现tab选项卡切换特效调试笔记
2016/03/30 Javascript
vue2.0 中#$emit,$on的使用详解
2017/06/07 Javascript
laravel5.4+vue+element简单搭建的示例代码
2017/08/29 Javascript
微信小程序实现文字跑马灯效果
2020/05/26 Javascript
JS中数据结构之栈
2019/01/01 Javascript
JavaScript表格隔行变色和Tab标签页特效示例【附jQuery版】
2019/07/11 jQuery
详解Vue 换肤方案验证
2019/08/28 Javascript
Webpack按需加载打包chunk命名的方法
2019/09/22 Javascript
解决vue elementUI中table里数字、字母、中文混合排序问题
2020/01/07 Javascript
element el-table表格的二次封装实现(附表格高度自适应)
2021/01/19 Javascript
[07:31]DOTA2卡尔工作室 英雄介绍主宰篇
2013/06/25 DOTA
[02:56]DOTA2矮人直升机 英雄基础教程
2013/11/26 DOTA
Python中实现对Timestamp和Datetime及UTC时间之间的转换
2015/04/08 Python
Django卸载之后重新安装的方法
2017/03/15 Python
Python项目 基于Scapy实现SYN泛洪攻击的方法
2019/07/23 Python
详解python中eval函数的作用
2019/10/22 Python
Python如何测试stdout输出
2020/08/10 Python
Nº21官方在线商店:numeroventuno.com
2019/09/26 全球购物
Java程序员常见面试题
2015/07/16 面试题
微型企业创业投资计划书
2014/01/10 职场文书
给老婆的婚前保证书
2014/02/01 职场文书
黄石寨导游词
2015/02/05 职场文书
收入证明范本
2015/06/12 职场文书
结婚司仪主持词
2015/06/29 职场文书
2015年中秋晚会主持词
2015/07/01 职场文书
工商局调档介绍信
2015/10/22 职场文书
MySQL的join buffer原理
2021/04/29 MySQL
Redis读写分离搭建的完整步骤
2021/09/14 Redis
Mysql 如何合理地统计一个数据库里的所有表的数据量
2022/04/18 MySQL
Spring Security动态权限的实现方法详解
2022/06/16 Java/Android