Не удается войти на сервер электронной почты, к которому я могу подключиться по telnet?

Я только что закончил следовать этому руководству по Digital Ocean для настройки почтовых серверов Dovecot, MySQL и Postfix. Я не проследил до конца. (Я не устанавливал Spam Assassin.) Я также временно использовал самогенерируемый SSL. В остальном я внимательно следил за руководством. Каждый раз, когда мне говорили выполнить тестовую команду, я делал это, и результаты были такими, какими, по словам автора, они должны быть.

Проблема в том, что с помощью почтового клиента (например, Thunderbird) я не могу войти на сервер. Однако с помощью Telnet я могу подключиться к SMTP через порты 587 и 25. Я также могу подключиться к IMAP через порт 993. (25, 587 и 993 - ЕДИНСТВЕННЫЕ порты, которые я перенаправил с моего внешнего IP-адреса.)

У меня есть проверил данные в БД MySQL. Мой пользователь существует с моим желаемым паролем.

Как я могу здесь устранить проблему? Есть ли способ проверить учетные данные для входа с помощью telnet?

EDIT

Аутентификация является проблемой. Я инициировал соединение с openssl s_client -connect mail.example.com:587 -starttls smtp (Спасибо, 84104). Тогда мой обмен выглядит так ...

ehlo example.com
250-hostname.example.com
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-AUTH PLAIN LOGIN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
AUTH LOGIN
334 VXNlcm5hbWU6
MyBase64EncodedUsername
334 UGFzc3dvcmQ6
MyBase64EncodedPassword
535 5.7.8 Error: authentication failed: Connection lost to authentication server

Могу ли я найти способ отладки, чтобы найти проблему? Это просто проверка подлинности или проблема с подключением?

-2
задан 4 October 2016 в 05:01
1 ответ

smtpd_tls_auth_only = yes означает, что telnet не будет подходящим вариантом для проверки подлинности. Вы действительно не хотите проводить TLS-переговоры вручную.

Вместо этого используйте что-то вроде openssl s_client, например openssl s_client -connect mail.example.com:587 -starttls smtp.

После подключения вы можете выдавать стандартные команды. Обмен также должен выглядеть аналогично:

S> Blah...Blah...Blah...
S> ---
S> 250 DSN
C> ehlo <client hostname>
S> 250-<server hostname>
S> Blah...Blah...
S> 250-AUTH PLAIN LOGIN
S> Blah...Blah...
S> 250 DSN
C> auth plain <echo -ne '\0<username>\0password>' | base64>
S> 235 2.7.0 Authentication successful
2
ответ дан 5 December 2019 в 21:15

Теги

Похожие вопросы