답변:
아마도. 서버가 일반 인증 방법을 사용 가능하게하기 전에 보안을 제공하기 위해 openssl을 사용해야 할 수도 있습니다.
먼저 사용 가능한 AUTH 메커니즘을 확인해야합니다. AUTH
인수없이 명령을 팝 서버 에 전달하여이를 수행 할 수 있습니다 .
$ telnet pop-server.example.com 110
Trying 10.10.10.10...
Connected to pop-server.example.com
Escape character is '^]'.
+OK The Microsoft Exchange POP3 service is ready.
AUTH
+OK
NTLM
GSSAPI
PLAIN
.
quit
+OK Microsoft Exchange Server 2010 POP3 server signing off.
좋은. ( 어쨌든 우리의 목적을 위해 )이 서버는 일반 AUTH를 허용합니다. 이제 사용자 이름과 암호를 결합한 다음 base64로 인코딩 된 인증 문자열을 작성해야합니다.
AUTH 문자열의 형식은이어야한다는 특정 요구 사항이 <NUL>username<NUL>password
있습니다. 이 정보를 종합 할 수있는 몇 가지 방법이 있습니다. perl 또는 printf 명령을 사용할 수 있습니다.
bash-$ perl -MMIME::Base64 -e 'print encode_base64("\000username\000password");'
AHVzZXJuYW1lAHBhc3N3b3Jk
또는 MIME :: Base64 perl 모듈이 설치되어 있지 않은 경우.
bash-$ printf '\000username\000password' | base64
AHVzZXJuYW1lAHBhc3N3b3Jk
해당 명령이 리턴하는 문자열은 base64로 인코딩 된 사용자 이름 및 비밀번호이며 AUTH 명령에 전달합니다.
이제 팝 서버에 대한 인증 세션은 다음과 같습니다.
$ telnet pop-server.example.com 110
Trying 10.10.10.10...
Connected to pop-server.example.com
Escape character is '^]'.
+OK The Microsoft Exchange POP3 service is ready.
AUTH PLAIN
+
AHVzZXJuYW1lAHBhc3N3b3Jk
+OK Logged in.
이제해야 할 일을 할 수 있습니다. 그러나 서버는 암호화되지 않은 세션에서 AUTH PLAIN을 사용하도록 허용하지 않을 수 있습니다. 이 경우 pop3 세션을 관리하기 위해 텔넷 대신 openssl을 사용해야 할 수도 있습니다.
openssl s_client -connect pop-server.example.com:995
이제 세션이 SSL / TLS로 보호되며 위에서 설명한 AUTH 방법으로 진행하여 pop3 서버와 상호 작용할 수 있습니다.
bash-$ openssl s_client -connect pop-server.example.com:995
CONNECTED(00000003)
<snip a bunch of ssl cruft>
SSL-Session:
Protocol : TLSv1
Cipher : AES128-SHA
Session-ID: blahblahblah
Session-ID-ctx:
Master-Key: blahblahblah
Key-Arg : None
Start Time: 1320992572
Timeout : 300 (sec)
Verify return code: 0 (ok)
---
+OK The Microsoft Exchange POP3 service is ready.
그리고 여기서부터는 일반 텔넷 세션에서 일반적으로하는 방식으로 서버와 상호 작용할 수 있습니다.
Mutt
메일 클라이언트는 메일 클라이언트를 원하는 경우 NTLM 인증을 지원합니다. 터미널에서 사용할 수 있습니다.