在本文中,您將了解如何以編程方式從郵件服務器檢索電子郵件。特別是,您將了解如何使用 IMAPPOP3 協議連接到郵件服務器並使用 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 電子郵件庫的更多信息。此外,您可以在我們的論壇 上發表您的疑問。

也可以看看