`
ryan.liu
  • 浏览: 136357 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

通过POP3协议读取指定邮件

阅读更多

先要安装maillib库

 

假设我要获得一周来,豆瓣发送的每个邮件中的第一个网址

 

import poplib
import maillib
from datetime import datetime, timedelta


def email_filter(sender, body):
    target = "http://"
    sender, body = sender[1], body.split("\n")
    if sender == "webmaster@douban.com":
        for line in body:
            if target in line:
                return line.strip()


def read_email(email, password, host, port=110, days=0):
    conn = poplib.POP3(host, port)
    #conn.set_debuglevel(1) #输出调试信息
    conn.user(email)
    conn.pass_(password)

    links = []
    nr = conn.stat()[0] #获取邮件数量
    for i in range(nr, 0, -1):
        server_msg, body, octets = conn.retr(i)
        msg = maillib.Message.from_string( "\n".join(body) )
        today = datetime.now().replace(hour=0, minute=0, second=0, microsecond=0)
        if msg.date < today - timedelta(days=days):
            break
        link = email_filter(msg.sender, msg.body)
        if link:
            links.append(link)
    return links


if __name__ == "__main__":
    links = read_email("me@126.com", "pass", host="pop.126.com", days=7)
    for link in links:
        print link
 
分享到:
评论

相关推荐

    C# POP3协议邮件附件获取 获取当前日期 本地去重

    在本场景中,我们关注的是如何利用C#和OpenPOP库来实现POP3协议邮件附件的自动化处理,包括获取当天的邮件信息、创建子文件夹以及本地文件的去重功能。 POP3(Post Office Protocol version 3)是一种邮件接收协议...

    POP3读取email,保存附件到本地

    在本文中,我们将深入探讨如何使用POP3协议读取电子邮件并保存附件到本地。这通常涉及编程,尤其是使用.NET Framework或.NET Core进行的C#编程。 首先,我们需要一个能够与POP3服务器通信的库。在.NET环境中,`...

    python+POP3实现批量下载邮件附件

    本文主要介绍了如何使用Python编程语言配合POP3协议来实现批量下载邮箱中的邮件附件。以下是对本文内容的详细解读,包括知识点、技术细节和操作步骤。 知识点一:Python的基础使用和第三方库 Python是一种广泛使用...

    写程序用pop3收取gmail的邮件

    标题中的“写程序用pop3收取gmail的邮件”是指通过编程方式使用POP3协议来接收Gmail邮箱中的邮件。POP3(Post Office Protocol version 3)是一种互联网标准,用于从邮件服务器检索电子邮件。在本文中,我们将深入...

    C语言的邮件pop3协议实现

    1. **POP3协议基础**:POP3是一种客户端-服务器协议,它允许用户通过他们的邮件客户端从远程邮件服务器下载邮件。它主要分为三个阶段:TCP连接建立、邮件传输和断开连接。在C语言中实现这个协议,需要理解TCP/IP套接...

    C#POP3协议客户端程序实现

    POP3协议通常在用户代理(如电子邮件客户端)和邮件服务器之间工作。用户通过认证后,可以从服务器上检索邮件,然后可以选择删除这些邮件或将其保留在服务器上。一旦连接断开,邮件服务器可能会根据配置删除已下载的...

    Python使用POP3和SMTP协议收发邮件的示例代码

    在这个例子中,`MIMEText`类用于创建邮件的正文部分,第一个参数是邮件正文的内容,第二个参数指定邮件的格式为纯文本(`'plain'`),第三个参数则是指定字符编码为`utf-8`。 ##### 发送邮件 发送邮件的步骤包括...

    POP3邮件监控Demo

    - 邮件检索:使用`LIST`命令获取邮件列表,`RETR`命令下载指定邮件。 - 邮件处理:解析邮件内容,提取所需信息(如发件人、主题、正文等)。 - 监控更新:定期或实时检查新邮件,这可以通过轮询或监听服务器通知...

    Lumisoft.net pop3和imap接收邮件例子(asp的例子)

    连接服务器后,可以使用`client.GetMessageCount()`获取邮件数量,并通过`client.GetMessage(index)`获取指定编号的邮件。 2. **IMAP邮件接收**: 对于IMAP,我们需要使用`ImapClient`类。设置服务器、端口、认证...

    电子邮件服务器描述stmp协议和pop3之间的传递

    SMTP协议规定了邮件发送的流程,包括Ehlo命令(用于身份验证和协议版本识别)、Auth命令(用于认证发送方的身份)、Mail from和Rcpt to命令(分别指定发件人和收件人地址),以及Data命令(发送邮件内容)。...

    javamail通过imap协议收取邮件(Exchange2007)

    Exchange 2007是微软的企业级邮件服务器,支持IMAP、POP3等多种邮件协议。 在JavaMail中使用IMAP协议来收取Exchange 2007中的邮件,首先需要理解以下几个关键概念: 1. **JavaMail API**: JavaMail API提供了一...

    实验九 邮件协议SMTP、POP3与IMAP模板.pdf

    POP3协议允许用户检查邮箱,下载新邮件,并可以选择删除服务器上的邮件,实现离线阅读。在实验中,用户使用RETRE命令获取邮件内容,以确保内容与发送时一致。 IMAP,互联网消息访问协议,与POP3类似,但也提供更...

    邮件协议分析

    - **RETR **: 读取指定编号的邮件内容。 - **DELE **: 将指定编号的邮件标记为删除。 - **LIST**: 列出邮件的编号和大小。 - **NOOP**: 发送该命令表示不执行任何操作,主要用于保持连接活动状态。 - **RSET**: 重置...

    Pop3高级MFC程序

    5. 下载邮件:使用CPOP3Session的OpenMessageStream方法打开指定邮件的流,然后读取流中的数据,保存到本地。 6. 删除服务器上的邮件:如果需要,可以调用CPOP3Session的DeleteMessage删除指定的邮件。 7. 关闭...

    完美邮件读取,各种格式附件获取,完美net DEMO

    在这个DEMO中,重点可能在于使用POP3协议,因为文件名为“读取邮件pop DEMO”。POP3协议主要用于下载邮件,用户可以从邮件服务器上检索邮件,而IMAP4则允许在服务器上管理邮件,更适用于需要在线查看和管理邮件的...

    电子邮件接受Pop3源码(解码比较完整)

    POP3协议主要工作在客户端-服务器模式下,允许用户从远程邮件服务器下载邮件到本地设备。它分为几个阶段:连接、身份验证、邮件列表获取、邮件下载和断开连接。在邮件接收过程中,用户通常需要提供邮件服务器地址、...

    Pop3邮件收发的C#类

    1. **POP3协议基础**:POP3协议是基于TCP/IP的,主要用于用户从邮件服务器下载邮件。它的工作流程包括登录、邮件列表、邮件读取和断开连接四个主要步骤。 2. **C#网络编程**:使用C#进行邮件收发,你需要了解System...

    pop3checkmail

    POP3CheckMail是一款基于POP3协议的VC++源代码,用于实现邮件收信功能。POP3,全称Post Office Protocol version 3,是互联网上的一种标准邮件存储和检索协议,常用于从邮件服务器获取电子邮件。在本文中,我们将...

    运用C_实现POP3邮件接收程序.docc#程序

    客户端使用POP3协议可以从邮件服务器下载邮件。在C#中实现POP3邮件接收程序,需要理解以下关键步骤: 1. **建立连接**:客户端需要连接到邮件服务器,通常是通过TCP/IP协议,指定POP3服务的默认端口号110。 2. **...

    pop3_java.rar_java pop3

    描述"java写的pop3邮件源代码"表明这个压缩包中的代码直接实现了POP3协议,可能是为了帮助开发者理解如何在实际项目中使用JavaMail API进行邮件操作。 在标签"java_pop3"中,"java"指的是编程语言,而"pop3"则明确...

Global site tag (gtag.js) - Google Analytics