IMAP — это протокол поиска электронной почты, который не загружает электронные письма. Он просто читает их и отображает их. Это очень полезно в условиях низкой пропускной способности. Клиентская библиотека Python под названием imaplib используется для доступа к электронной почте по протоколу imap.
IMAP расшифровывается как Internet Mail Access Protocol. Впервые он был предложен в 1986 году.
Ключевые моменты:
- IMAP позволяет клиентской программе манипулировать сообщениями электронной почты на сервере, не загружая их на локальный компьютер.
- Электронная почта хранится и поддерживается удаленным сервером.
- Это позволяет нам предпринимать любые действия, такие как загрузка, удаление почты без чтения почты. Это позволяет нам создавать, манипулировать и удалять удаленные папки сообщений, называемые почтовыми ящиками.
- IMAP позволяет пользователям осуществлять поиск по электронной почте.
- Это позволяет одновременный доступ к нескольким почтовым ящикам на нескольких почтовых серверах.
IMAP позволяет клиентской программе манипулировать сообщениями электронной почты на сервере, не загружая их на локальный компьютер.
Электронная почта хранится и поддерживается удаленным сервером.
Это позволяет нам предпринимать любые действия, такие как загрузка, удаление почты без чтения почты. Это позволяет нам создавать, манипулировать и удалять удаленные папки сообщений, называемые почтовыми ящиками.
IMAP позволяет пользователям осуществлять поиск по электронной почте.
Это позволяет одновременный доступ к нескольким почтовым ящикам на нескольких почтовых серверах.
IMAP команды
В следующей таблице описаны некоторые команды IMAP:
| SN | Описание команды |
|---|---|
| 1 | IMAP_LOGIN Эта команда открывает соединение. |
| 2 | ВОЗМОЖНОСТЬ Эта команда запрашивает список возможностей, которые поддерживает сервер. |
| 3 | NOOP Эта команда используется в качестве периодического опроса новых сообщений или обновлений статуса сообщений в течение периода бездействия. |
| 4 | ВЫБРАТЬ Эта команда помогает выбрать почтовый ящик для доступа к сообщениям. |
| 5 | EXAMINE Это то же самое, что и команда SELECT, за исключением того, что изменение почтового ящика не допускается. |
| 6 | СОЗДАЙТЕ Он используется для создания почтового ящика с указанным именем. |
| 7 | УДАЛЯТЬ Он используется для окончательного удаления почтового ящика с заданным именем. |
| 8 | ПЕРЕИМЕНОВАТЬ Используется для изменения имени почтового ящика. |
| 9 | ВЫЙТИ Эта команда сообщает серверу, что клиент завершил сеанс. Сервер должен отправить BYE-ответ без тега до ответа OK, а затем закрыть сетевое соединение. |
пример
В приведенном ниже примере мы подключаемся к серверу 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()
В зависимости от конфигурации почтового ящика отображается почта.