Я настроил почтовый сервер с помощью Postfix и Dovecot, и я могу отправлять и получать почту с помощью различных почтовых клиентов, но по какой-то причине я получаю ошибку аутентификации, когда пытаюсь подключиться через 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")'