通过Telnet连接到POP / SMTP服务器

安奇

我正在尝试通过telnet(端口25和110)连接到SMTP / POP服务器。但是,我无法验证自己的身份。每当我尝试时,它说(pop)

-ERR SPA Required, use AUTH or APOP

通过一些搜索,我了解到SPA是Microsoft的财产。我可以使用telnet进行身份验证吗?

蒂姆·肯尼迪

可能是。在服务器使普通身份验证方法可用之前,您可能需要使用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

这些命令返回的字符串是传递给AUTH命令的base64编码的用户名和密码。

现在,您到流行服务器的身份验证会话如下所示:

$ 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。在这种情况下,您可能必须使用openssl而不是telnet来管理pop3会话。

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.

从这里,您可以以通常在直接telnet会话中进行的任何方式与服务器进行交互。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Telnet连接到传出SMTP服务器

无法连接到SMTP服务器

强制SSH服务器始终且仅通过隧道连接到telnet服务器

连接到SMTP服务器Windows C ++

PHPMailer SMTP错误:无法连接到服务器

Perl:SMTP无法连接到邮件服务器

无法连接到smtp Outlook.com服务器

phpmailer无法连接到SMTP服务器

mailx是使用SMTP中继发送邮件还是直接连接到目标SMTP服务器?

我可以连接到Yahoo SMTP服务器,但不能连接到Gmail服务器

通过代理连接到服务器

通过 Thunderbird\Outlook 连接到 localhost POP3 服务器

将用户连接到telnet服务器的Rails应用

连接到NodeJS中的telnet服务器

将Microsoft Outlook仅链接到SMTP服务器,而不链接到IMAP / POP

转到:连接到SMTP服务器并通过一个连接发送多封电子邮件?

与某些 SMTP 服务器的连接时间很长

PHPMailer GoDaddy服务器SMTP连接被拒绝

到 smtp 端口 465 服务器的 Python 连接失败

使用Mailkit:“ SMTP服务器已意外断开连接。”

通过Java和Postfix服务器发送SMTP邮件

无法使用Google帐户在节点JS本地服务器中连接SMTP服务器

在某些服务器上通过Telnet打开SMTP时,PuTTY关闭

SMTP->错误:无法连接到服务器:连接超时(110)

使用Javamail连接到Gmail smtp服务器会忽略指定的端口,并尝试使用25

后缀将连接到远程smtp服务器哪个端口?

在 Linux 但不是 Windows 上连接到 SMTP 服务器失败

尝试连接到本地 SMTP 服务器时 Camel 中的 ConnectionException

使用C / C ++(套接字)连接到Gmail SMTP服务器