
- Python - 網路程式設計
- Python - 網路基礎
- Python - 網路環境
- Python - 網際網路協議
- Python - IP 地址
- Python - DNS 查詢
- Python - 路由
- Python - HTTP 請求
- Python - HTTP 響應
- Python - HTTP 頭部
- Python - 自定義 HTTP 請求
- Python - 請求狀態碼
- Python - HTTP 認證
- Python - HTTP 資料下載
- Python - 連線複用
- Python - 網路介面
- Python - 套接字程式設計
- Python - HTTP 客戶端
- Python - HTTP 伺服器
- Python - 構建 URL
- Python - Web 表單提交
- Python - 資料庫和 SQL
- Python - Telnet
- Python - 郵件訊息
- Python - SMTP
- Python - POP3
- Python - IMAP
- Python - SSH
- Python - FTP
- Python - SFTP
- Python - Web 伺服器
- Python - 上傳資料
- Python - 代理伺服器
- Python - 目錄列表
- Python - 遠端過程呼叫
- Python - RPC JSON 伺服器
- Python - Google 地圖
- Python - RSS Feed
Python - IMAP
IMAP 是一種電子郵件檢索協議,它不會下載電子郵件。它只是讀取並顯示它們。這在頻寬較低的情況下非常有用。Python 的客戶端庫 imaplib 用於透過 imap 協議訪問電子郵件。
IMAP 代表 網際網路郵件訪問協議。它首次提出於 1986 年。
關鍵點
IMAP 允許客戶端程式在伺服器上操作電子郵件訊息,而無需將其下載到本地計算機。
電子郵件由遠端伺服器儲存和維護。
它使我們能夠執行任何操作,例如下載、刪除郵件而不讀取郵件。它使我們能夠建立、操作和刪除稱為郵箱的遠端訊息資料夾。
IMAP 使使用者能夠搜尋電子郵件。
它允許同時訪問多個郵件伺服器上的多個郵箱。
IMAP 命令
下表描述了一些 IMAP 命令
序號 | 命令描述 |
---|---|
1 | IMAP_LOGIN 此命令開啟連線。 |
2 | CAPABILITY 此命令請求列出伺服器支援的功能。 |
3 | NOOP 此命令用於在空閒期間定期輪詢新訊息或訊息狀態更新。 |
4 | SELECT 此命令有助於選擇郵箱以訪問訊息。 |
5 | EXAMINE 它與 SELECT 命令相同,只是不允許對郵箱進行任何更改。 |
6 | CREATE 用於建立具有指定名稱的郵箱。 |
7 | DELETE 用於永久刪除具有給定名稱的郵箱。 |
8 | RENAME 用於更改郵箱的名稱。 |
9 | LOGOUT 此命令通知伺服器客戶端已完成會話。伺服器必須在 OK 響應之前傳送 BYE 未標記響應,然後關閉網路連線。 |
示例
在下面的示例中,我們使用使用者憑據登入到 gmail 伺服器。然後我們選擇顯示收件箱中的郵件。一個 for 迴圈用於逐一顯示獲取的郵件,最後關閉連線。
import imaplib import pprint imap_host = 'imap.gmail.com' imap_user = 'username@gmail.com' imap_pass = 'password' # connect to host using SSL imap = imaplib.IMAP4_SSL(imap_host) ## login to server imap.login(imap_user, imap_pass) imap.select('Inbox') tmp, data = imap.search(None, 'ALL') for num in data[0].split(): tmp, data = imap.fetch(num, '(RFC822)') print('Message: {0}\n'.format(num)) pprint.pprint(data[0][1]) break imap.close()
根據郵箱配置,郵件將顯示。
廣告