Ни в одном из предыдущих ответов на самом деле не сказано как использовать аутентификацию PLAIN, поэтому я сделал еще несколько копаний.Оказывается, информация об аутентификации ожидается в base64.Это, вероятно, проще всего объяснить на примере.Предположим, имя пользователя «Боб» и пароль «Манчкин».
Сначала нам нужно кодировать в base64.В системе Linux-ish это выглядит так:
echo -en "\0bob\0munchkin" | base64
Это включает в себя нулевые символы по мере необходимости, а также кодирует base64.Мы получаем эту строку: AGJvYgBtdW5jaGtpbg==
.
Теперь мы можем выполнить настоящую аутентификацию (S
= Сервер, C
= Клиент):
S: * OK The Microsoft Exchange IMAP4 service is ready.
C: D0 CAPABILITY
S: * CAPABILITY IMAP4 IMAP4rev1 AUTH=NTLM AUTH=GSSAPI AUTH=PLAIN CHILDREN IDLE NAMESPACE LITERAL+
S: D0 OK CAPABILITY completed.
C: D1 AUTHENTICATE PLAIN
S: +
C: AGJvYgBtdW5jaGtpbg==
S: D1 OK AUTHENTICATE completed
И вы 'готово!