Приведенный набор команд четко отражает ориентированность протокола IMAP на работу с почтовыми ящиками. Протокол проектировался в качестве средства удаленного доступа к почтовым ящикам, хранимым на сервере, что видно по командам протокола. Несмотря на возросшую сложность протокола работу сервера IMAP все так же можно проверить при помощи telnet и небольшого числа команд.
$ telnet localhost 143 Trying 127.0.0.1... Connected to rodent.wrotethebook.com. Escape character is '^]'. * OK rodent.wrotethebook.com IMAP4rev1 v12.252 server ready a0001 LOGIN craig Wats?Watt? a0001 OK LOGIN completed a0002 SELECT inbox * 3 EXISTS * 0 RECENT * OK [UIDVALIOITY 965125671] UIO validity status * OK [UIDNEXT 5] Predicted next UID * FLAGS (\Answered \Flagged \0eleted \Draft \Seen) * OK [PERMANENTFLAGS (\* \Answered \Flagged \0eleted \0raft \Seen)] Permanent flags » OK [UNSEEN 1] first unseen message in /var/spool/mail/craig a0002 OK [READ-WRITE] SELECT completed a0003 FETCH 1 BODY[TEXT] * 1 FETCH (BODY[TEXT] {1440} ... an e-mail message that is 1440 bytes long ... * 1 FETCH (FLAGS (\Seen)) a0003 OK FETCH completed a0004 STORE 1 +FLAGS \DELETED » 1 FETCH (FLAGS (\Seen \Deleted)) a0004 OK STORE completed a0005 CLOSE a0005 OK CLOSE completed a0006 LOGOUT * BYE rodent.wrotethebook.com IHAP4rev1 server terminating connection a0006 OK LOGOUT completed Connection closed by foreign host.
Первые три и последняя строки исходят от программы telnet; все прочие сообщения принадлежат IMAP. Первая введенная пользователем команда IMAP - это LOGIN; она указывает имя пользователя и пароль из файла /etc/ passwd для его аутентификации. Обратите внимание, команду предваряет строка А0001. Это тег, представляющий собой уникальный идентификатор, создаваемый клиентом для каждой команды. Каждая команда должна начинаться с тега. При ручном вводе команд вы сами являетесь источником тегов.