在本文中,您将学习如何以编程方式从邮件服务器中检索电子邮件。特别是,您将了解如何使用 IMAP 或 POP3 协议连接到邮件服务器并在 Python 中阅读电子邮件。
使用 POP3 或 IMAP 读取电子邮件的 Python 库
为了使用 POP3 或 IMAP 从邮件服务器读取电子邮件,我们将使用 Aspose.Email for Python via .NET。它是一个功能丰富的电子邮件库,可让您在 Python 应用程序中实现电子邮件客户端。您可以 下载 .whl 文件或使用以下 pip 命令安装库。
> pip install Aspose.Email-for-Python-via-NET
在 Python 中从邮件服务器读取电子邮件
POP3 和 IMAP 通常用于从邮件服务器检索电子邮件。以下部分演示如何分别使用两种电子邮件协议阅读电子邮件。
在 Python 中使用 POP3 阅读电子邮件
以下是在 Python 中使用 POP3 阅读电子邮件的步骤。
- 创建一个 Pop3Client 类的对象,并使用主机、端口、用户名和密码对其进行初始化。
- 使用 Pop3Client.securityoptions 属性设置安全选项。
- 使用 Pop3Client.getmessagecount() 方法获取消息计数。
- 使用 Pop3Client.fetchmessage() 方法循环访问每条消息。
以下代码示例展示了如何在 Python 中使用 POP3 阅读电子邮件。
# 创建 POP3 客户端
client = Pop3Client("pop.gmail.com", 995, "username", "password")
# 设置安全选项
client.security_options = SecurityOptions.AUTO
# 获取消息计数
messageCount = client.get_message_count()
print("Total messages: " + str(messageCount))
# 创建 MailMessage 类的实例以读取消息
for i in range(0,messageCount):
message = client.fetch_message(i+1)
print("From:" + str(message.from_address))
print("Subject:" + message.subject)
print(message.html_body)
在 Python 中使用 IMAP 读取电子邮件
以下是在 Python 中使用 IMAP 阅读电子邮件的步骤。
- 创建 ImapClient 类的对象并使用主机、端口、用户名和密码对其进行初始化。
- 使用 ImapClient.selectfolder(folderName) 方法选择文件夹。
- 使用 ImapClient.listmessages() 方法遍历消息列表。
以下代码示例展示了如何在 Python 中使用 IMAP 读取电子邮件。
# 使用 IMAP 连接到邮件服务器
client = ImapClient("imap.gmail.com", 993, "username", "password")
# 选择文件夹
client.select_folder("Inbox")
# 循环浏览电子邮件并将它们保存为 .eml 文件
for msg in client.list_messages():
print("Subject: " + msg.subject)
print("HtmlBody: " + msg.html_body)
print("TextBody: " + msg.body)
client.save_message(msg.unique_id, msg.unique_id + "_out.eml")
Python 电子邮件库 - 获得免费许可证
您可以通过获取 免费临时许可证 来使用 Aspose.Email for Python。
结论
在本文中,您学习了如何使用 Python 从邮件服务器读取电子邮件。特别是,您已经了解了如何使用 POP3 和 IMAP 客户端来获取和阅读电子邮件消息。您可以使用 文档 探索有关 Python 电子邮件库的更多信息。此外,您可以在我们的 论坛 上发布您的查询。