Я хотел полностью изучить IMAP-подключения из командной строки. Если я могу подключиться через Thunderbird, то я должен иметь возможность и через telnet
?!
Майкрософтподробный вход по протоколу IMAP как:-
LOGIN NTDOMAIN/NTACCOUNT/ALIAS PASSWORD
Настройки моего Thunderbird следующие:
<domain>\<username>\<alias>
В разных источниках приводятся немного разные команды IMAP:
LOGIN [email protected] <password> (1)
LOGIN <Domain_Name>/<Log_On_Name> <Password> (2)
LOGIN <LogOnName>@<DomainName>.<Top-Level_Domain_Name> <Password> (3)
LOGIN DOMAIN/USERNAME/MAILBOX (4)
LOGIN NTDOMAIN/NTACCOUNT/ALIAS PASSWORD (5)
Попытки POP:-
telnet <servername> pop3
+OK Microsoft Exchange POP3 server version 5.5.2658.25 ready
user <username>
+OK
pass <password>
-ERR Logon failure: unknown user name or bad password.
user <domain>\<username>
+OK
pass <password>
-ERR There is no such mailbox on this server
Последнее показывает, что доступ к моему аккаунту был авторизован.
Попытки IMAP:-
telnet <servername> imap
* OK Microsoft Exchange IMAP4rev1 server version 5.5.2658.25 (<servername>) ready
login <domain>/<username> <password>
login BAD Protocol Error: "Unidentifiable command specified"
login <username>@<domain>.<servername> <password>
login BAD Protocol Error: "Unidentifiable command specified"
login <domain>/<username>/IanVaughan
login BAD Protocol Error: "Unidentifiable command specified"
LOGIN
* BAD Protocol Error: "Tag not found in command"
login
login BAD Protocol Error: "No space following tag in IMAP command"
LOGIN <domain>/<username> <password>
LOGIN BAD Protocol Error: "Unidentifiable command specified"
LOGIN <username>@<domain> <password>
LOGIN BAD Protocol Error: "Unidentifiable command specified"
решение1
Вы неправильно поняли IMAP. Каждая команда IMAP должна предваряться идентификационным маркером, поэтому вместо LOGIN domain/user/mailbox password
статьи базы знаний, которую вы процитировали, вам советуют использовать ? LOGIN domain/user/mailbox password
(обратите внимание на?добавленный к команде LOGIN (которая и является упомянутым токеном).
Кстати: вам не обязательно использовать domain/user/mailbox
- простое использование «user» (имя пользователя для входа в Windows NT) автоматически подключит вас к почтовому ящику этого пользователя.
Другим важным моментом является механизм аутентификации — простая аутентификация (простое предоставление пароля в открытом виде) не рекомендуется из-за ее небезопасности, и поэтому большинство серверов отказываются от простой аутентификации и заставляют пользователей использоватьдайджест аутентификациявместо этого, если SSL не используется. Я не знаю, делает ли это Exchange 5.5 по умолчанию.
решение2
Обычно я использую telnet
для проверки соединения с сервером электронной почты. Однако вам нужно убедиться, что вы вводите правильные команды Unidentifiable command specified
. Также вам нужно убедиться, что вы правильно указали имя пользователя и пароль.
При подключении к POP3-сервису я не уверен, username\domain
будет ли работать формат. Обычно я использую одну из форм:
user username
user username@domain
Если вы можете войти в систему с помощью почтового клиента, например Thunderbird или Outlook, вы можете просто использовать сетевой анализатор, например Wireshark, для проверки правильности команд POP3/IMAP.