Я пишу простой почтовый клиент на Perl, который использует SMTP для входа на почтовый сервер и оттуда отправляет почту на другой адрес электронной почты (на другом хосте). Я использую сырые команды SMTP, потому что клубничный Perl не поставляется с SASL.pm, который необходим для аутентификации. Однако, когда скрипт пытается аутентифицировать себя, он терпит неудачу. Я попробовал механизм «AUTH LOGIN» и «AUTH PLAIN», но не повезло. Вот пример:
EHLO example.com
AUTH LOGIN
YWxwaGE=
cGFzc3dvcmQ=
MAIL FROM:<alpha@example.com>
RCPT TO:<beta@betadomain.com>
DATA
Subject: sample message
From: alpha@example.com
To: beta@betadomain.com
Greetings,
Typed message (content)
Goodbye.
.
QUIT
EOT
"YWxwaGE =", "cGFzc3dvcmQ =" - это пользователь и пароль, закодированные в Base64. Что бы я ни отправлял, сервер всегда жалуется, что либо имя пользователя, либо пароль неверны. Что я делаю не так?