Я настроил почтовый сервер с помощью Постфикса и Голубятни, и я могу отправить и получить почту с помощью различных почтовых клиентов, но по некоторым причинам я получаю ошибку аутентификации, когда я пытаюсь соединиться через openssl
в терминале.
Это в значительной степени, как это понижается:
openssl s_client -connect mail.example.com:587 -starttls smtp
[соединение с сервером устанавливается]
EHLO mail.example.com
AUTH PLAIN cGFzc3dvcmQ=
535 5.7.8 Error: authentication failed:
Я использовал каждое из следующих для создания моего AUTH PLAIN
сообщение, ни одно из которых не аутентифицировало меня:
echo -en '\0username\0password!'|base64
echo -en '\000username\000password!'|base64
echo -e '\0username\0password!'|base64
echo -e '\000username\000password!'|base64
Учебное руководство я раньше настраивал почтовый сервер, предложило, чтобы я использовал:
echo -en '\000username\000password!'|base64
но это никогда не работало на меня.
Мое имя пользователя находится в формате user@example.com
и это работает при использовании почтовых клиентов для соединения с сервером.
Кто-либо знает, почему я мог бы получать ошибку? Я предполагаю, что это - потому что я не генерирую base64 аутентификационное сообщение правильно, но я довольно плохо знаком с Linux, таким образом, я мог бы пропускать что-то простое.
Я следовал учебному руководству к букве, и я несколько раз проверял свои настройки дважды. Кроме той одной проблемы, все остальное работает как ожидалось.
Сервер выполняет Debian 7 (64 бита), и учебное руководство здесь: https://www.howtoforge.com/tutorial/build-your-own-cloud-on-debian-wheezy/
Спасибо.
Большинство настроек включают домен в имя пользователя. (По крайней мере, большинство моих.) Попробуйте:
echo -ne '\0username@domain.com\0password!'|base64
Вы также можете попробовать подход PERL:
perl -MMIME::Base64 -e 'print encode_base64("\000user\@domain.com\000password")'