Python POP3读取邮件

本文介绍了如何使用Python的poplib和email模块收取并解析邮件。首先,需要开启邮箱的POP3服务并获取授权码。接着,通过poplib连接到POP3服务器,获取邮件原始文本,然后利用email模块解析邮件头和正文,包括解码字符串、获取发件人、收件人、主题等信息。最后,展示了代码实现和输出结果。

前提条件

相关介绍

  • Python是一种跨平台的计算机程序设计语言。是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越多被用于独立的、大型项目的开发。
  • POP3,全名为“Post Office Protocol - Version 3”,即“邮局协议版本3”。是TCP/IP协议族中的一员,由RFC1939 定义。本协议主要用于支持使用客户端远程管理在服务器上的电子邮件。
  • Python 内置一个 poplib 模块,实现了 POP3 协议,可以直接用来收邮件。
  • POP3 协议收取的不是一个已经可以阅读的邮件本身,而是邮件的原始文本,这和 SMTP 协议很像,SMTP 发送的也是经 过编码后的一大段文本。要把 POP3 收取的文本变成可以阅读的邮件,还需要用 email 模块提供的各种 类来解析原始文本,变成可阅读的邮件对象。
  • Email模块是一个用于管理电子邮件消息的库。
  • 下图来源于《计算机网络(第7版)- 谢希仁》
    在这里插入图片描述在这里插入图片描述

实验环境

  • Python 3.x (面向对象的高级语言)
  • Emain 3.141.0 (python第三方库)
  • Smtplib (python标准库)
  • Poplib (python标准库)

读取邮件

获取邮箱授权码

以QQ邮箱为例,登录QQ邮箱->设置->账号->开启POP3/SMTP服务->生成授权码

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

主要步骤

  • 第一步:用 poplib 获取邮件的原始文本。
  • 第二步:用 email 解析原始文本,还原为邮件对象。

代码实现

# -*- coding: utf-8 -*-
"""
Created on 2022/03/18 12:00:00
@author: TFX
"""
import poplib
from email.parser import Parser
from email.header import decode_header
from email.utils import parseaddr

def get_origin_text(): # 获取邮件原始文本
	# 连接到POP3服务器
	pop_server = poplib.POP3("pop.qq.com")
	# 邮箱号
	pop_server.user("********@qq.com"
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

FriendshipT

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值