通过POP3协议读取指定邮件

简介: 先要安装maillib库   假设我要获得一周来,豆瓣发送的每个邮件中的第一个网址   import poplib import maillib from datetime import datetime, timedelta def email_filter(sen...

先要安装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
 
目录
相关文章
|
存储 网络协议 数据安全/隐私保护
POP3/SMTP/IMAP邮件协议的区别
POP3/SMTP/IMAP邮件协议的区别
POP3/SMTP/IMAP邮件协议的区别
|
1月前
|
存储 网络协议 安全
解读POP3:电子邮件查看必备技巧揭秘
POP3是一种应用层协议,用于电子邮件客户端从服务器下载邮件。它包括授权、事务和更新三个阶段。在授权阶段,用户通过用户名和密码登录;事务阶段中,服务器发送邮件列表,客户端下载邮件;更新阶段则终止连接并可能删除已下载的邮件。POP3的优点包括离线访问邮件、节省服务器空间和快速查看附件,但它不支持服务器端的邮件组织,且存在安全风险,如用户可能无意中下载恶意内容。
22 0
|
7月前
|
存储
SMTP 和 POP3 协议的区别和联系
SMTP 和 POP3 协议的区别和联系
90 1
|
人工智能
邮件开发:一些常见邮箱的POP3及SMTP服务器地址
邮件开发:一些常见邮箱的POP3及SMTP服务器地址
277 0
|
缓存 网络协议 计算机视觉
网络-邮件协议STMP、POP3详解与实战(Python发送邮件)
网络-邮件协议STMP、POP3详解与实战(Python发送邮件)
609 0
网络-邮件协议STMP、POP3详解与实战(Python发送邮件)