在各種情況下,從 Python 應用程序內部訪問電子郵件服務器以閱讀電子郵件或實現電子郵件客戶端。為了從電子郵件服務器檢索電子郵件,通常使用 Internet 消息訪問協議 (IMAP) 協議。在本文中,我們將向您展示如何在 Python 中通過 IMAP 閱讀電子郵件。本文將明確介紹如何連接到電子郵件服務器、訪問所需的文件夾和閱讀電子郵件。
通過 IMAP 閱讀電子郵件的 Python 庫 - 免費下載
要通過 IMAP 從電子郵件服務器讀取電子郵件,我們將使用 Aspose.Email for Python via .NET。它是一個功能強大的電子郵件庫,可讓您從電子郵件服務器發送電子郵件和訪問郵箱。您可以使用以下命令從 PyPI 安裝庫。
pip install Aspose.Email-for-Python-via-NET
對於使用 .whl 文件的手動安裝,您可以按照以下步驟操作。
- 從 下載 部分下載可安裝的 .whl 文件。
- 在命令行中,使用命令:pip install «FileName> >.whl 安裝庫。
在 Python 中通過 IMAP 連接到電子郵件服務器
以下是使用 IMAP 連接到電子郵件服務器的步驟。
- 創建 ImapClient 類的實例並使用主機名、端口、用戶名和密碼對其進行初始化。
- 使用 ImapClient 對象訪問郵箱。
以下代碼示例展示瞭如何在 Python 中使用 IMAP 連接到電子郵件服務器。
from aspose.email import SecurityOptions, ImapClient
# 創建 ImapClient 實例並提供主機、端口、用戶名和密碼
client = ImapClient("imap.domain.com", 993, "user@domain.com", "password")
# 設置安全選項
client.security_options = SecurityOptions.SSLIMPLICIT
# 使用 ImapClient 對象訪問郵箱
Python:訪問郵箱中的電子郵件文件夾
建立與電子郵件服務器的連接後,您可以選擇要從中閱讀電子郵件的文件夾。我們先來看看如何獲取郵箱中所有文件夾的列表。以下是獲取有關每個文件夾的信息的步驟。
- 創建 ImapClient 類的實例並使用主機名、端口、用戶名和密碼對其進行初始化。
- 使用 ImapClient.listfolders() 方法獲取對像中的文件夾集合。
- 遍歷集合併檢索文件夾的詳細信息。
以下代碼示例顯示如何打印郵箱中文件夾的詳細信息。
from aspose.email import ImapClient
# 創建 ImapClient 實例並提供主機、端口、用戶名和密碼
with ImapClient("imap.gmail.com", 993, "username", "password") as client:
# 獲取文件夾列表
folderInfoColl = client.list_folders()
# 遍歷集合以一一獲取文件夾的信息
for folderInfo in folderInfoColl:
print("Folder name is " + folderInfo.name)
folderExtInfo = client.get_folder_info(folderInfo.name)
print("New message count: " + str(folderExtInfo.new_message_count))
print("Is it readonly? " + str(folderExtInfo.read_only))
print("Total number of messages " + str(folderExtInfo.total_message_count))
現在讓我們繼續使用 IMAP 訪問郵箱中的特定文件夾。
- 創建 ImapClient 類的實例並使用主機名、端口、用戶名和密碼對其進行初始化。
- 使用 ImapClient.selectfolder(string) 方法選擇文件夾。
以下代碼示例顯示如何從郵箱中選擇電子郵件文件夾。
from aspose.email import ImapClient
# 創建 ImapClient 實例並提供主機、端口、用戶名和密碼
with ImapClient("imap.gmail.com", 993, "username", "password") as client:
# 從郵箱中選擇文件夾
client.select_folder("Inbox")
在 Python 中讀取文件夾中的電子郵件
以下是使用 Python 從郵箱中的特定文件夾讀取電子郵件的步驟。
- 創建 ImapClient 類的實例並使用主機名、端口、用戶名和密碼對其進行初始化。
- 使用 ImapClient.selectfolder(string) 方法選擇文件夾。
- 使用 client.listmessages() 方法獲取文件夾中的消息列表。
- 循環遍歷消息集合。
- 獲取每封電子郵件的詳細信息,並在需要時將其保存到磁盤。
以下代碼示例顯示瞭如何使用 Python 從電子郵件服務器讀取電子郵件。
from aspose.email import ImapClient
# 創建 ImapClient 實例並提供主機、端口、用戶名和密碼
with ImapClient("imap.gmail.com", 993, "username", "password") as client:
# 選擇文件夾
client.select_folder("Inbox")
# 閱讀集合中的每條消息
for msg in client.list_messages():
print( "From: '{}', MIME Id: {}".format(msg.from_address, msg.message_id) )
# 將消息保存在磁盤上
client.save_message(msg.unique_id, msg.unique_id + "_out.eml")
通過 IMAP 閱讀電子郵件的 Python 庫 - 獲得免費許可證
您可以通過 獲得臨時許可證 使用 Aspose.Email for Python 免費通過 IMAP 閱讀電子郵件。
結論
在本文中,您學習瞭如何在 Python 中使用 IMAP 從電子郵件服務器讀取電子郵件。代碼示例演示瞭如何連接到電子郵件服務器、獲取郵箱中的文件夾列表、選擇文件夾和閱讀電子郵件。此外,您可以訪問 文檔 以通過 .NET 探索更多關於 Aspose.Email for Python 的信息。此外,您還可以從 GitHub 下載完整的源代碼示例包。如果您有任何問題或疑問,請隨時通過我們的 論壇 告訴我們。