В статье про SMTP,в которой мы научились анонимно отправлять имейлы я добавил,что данный протокол не позволяет управлять почтовым ящиком,а может лишь отправлять письма.Сегодня мы разберём как раз тот протокол,который позволяет полностью управлять почтовым ящиком.
IMAP (Internet Message Access Protocol) или протокол доступа к сообщениям,если вы пользуетесь каким либо почтовым клиентом-знайте,все операции как раз проходят через этот замечательный протокол,кроме отправки,конечно же.
Забегая вперёд,imap всё же умеет отправлять письма,но самые простые,без заголовков-то есть просто текст и вероятнее всего в кодировке ascii.
Как и в случае с SMTP-IMAP'ом управляют команды,которые так же можно отправлять вручную.
Сейчас многие сервисы используют IMAP в связке с SSL/TLS,поэтому нам нужна утилита,способная поднять защищённое соединение в линуксе имеется такая утилита-openssl,подвиндовс мне подобные утилиты не знакомы,небольшой поиск привёл меня к этому мануалу (https://habr.com/en/post/271203/),в котором описана установка openssl под виндовс.
Тестировать будет на gmail,перед началом включите доступ к ненадёжным приложениям,иначе гугл просто заблокирует попытки входа.Довольно теории и подготовки,давайте приступим:
openssl s_client -crlf -ign_eof -connect imap.gmail.com:993
s_client-это тип соединения,мы поднимаем порт как клиент
ключ crlf - даёт нормальную обработку переноса строк
ключ ign_eof - позволяет корректно воспринимать команды на R
-connect,тут думаю всё ясно,далее сам хост
В дальнейшем все команды должны начинаться с точки и пробела.
После подключения вводим:
. login username@gmail.com password
. list "" "*" получить весь список папок
. status имя_папки количество писем в папке
. select имя_папки выбрать папку
. fetch - просмотр писем,вот её варианты:
. fetch 1:* flags просмотр статуса писем
. fetch номер rfc822.text тело письма
. fetch номер full вывод всех заголовков
Разумеется,этодавлеко не весь функционал imap.Чтобы разобрать весь функционал,формата статьи будет недостаточно.Если статья вам понравится мы продолжим знакомство с этим замечательным протоколом.Желаю успехов!