Назад | Перейти на главную страницу

Ошибка аутентификации при подключении к почтовому серверу через openssl в терминале

Я настроил почтовый сервер с помощью 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")'