IMAP是一種電子郵件檢索協議,它不下載電子郵件。它只是讀取並顯示它們。這在低帶寬條件下非常有用。Python的客戶端庫imaplib用於通過imap協議訪問電子郵件。
IMAP代表Internet郵件訪問協議。它於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()
根據郵箱配置,顯示郵件。
上一篇:
Python POP3
下一篇:
Python SSH