使用SMTP身份验证通过Telnet发送电子邮件

时间:2020-01-09 10:46:53  来源:igfitidea点击:

在某些情况下,为了测试或者诊断电子邮件服务,管理员必须检查通过某些主机通过其Exchange服务器(和其他电子邮件服务器)发送的电子邮件。中继服务器),则可以从telnet命令提示符下发送电子邮件。但是,在大多数情况下,邮箱服务器需要身份验证才能发送电子邮件。在这个示例中,我们将展示如何在SMTP服务器上执行AUTH LOGIN身份验证以及如何使用telnet控制台发送电子邮件。

用Exchange术语来说,当用户名和密码通过使用base64算法编码的网络传输时,AUTH LOGIN是"基本认证"。管理员通常不会在大多数内部Exchange服务器上禁用基本身份验证。我们可以在接收连接器的设置中查看它是否受支持。

使用Telnet在命令提示符下连接到电子邮件服务器的端口25(SMTP)(我将以蓝色突出显示要输入的命令)

telnet mail.theitroad.local 25

如果是Exchange,它将返回类似以下内容的内容:

220 mail.theitroad.local Microsoft ESMTP MAIL Service ready at Thu, 11 Nov 2016 10:22:31 +0300

让我们自我介绍一下:

ehlo sender.theitroad.local

服务器将返回受支持的身份验证类型和选项的列表。如我们所见,列表中有AUTH LOGIN。

250-mail.theitroad.local Hello [192.168.1.115]
250-SIZE 36700160
250-PIPELINING
250-DSN
250-ENHANCEDSTATUSCODES
250-STARTTLS
250-AUTH LOGIN
250-8BITMIME
250-BINARYMIME
250 CHUNKING

要求SMTP服务器使用当前帐户对我们进行身份验证:

身份登录

服务器将响应:

334 VXNlcm5hbWU6

现在,以我们之前加密的Base64格式复制并粘贴用户名:dGVzdF91c2VyQHdvc2h1Yi5jb20g

服务器将响应:

334 UGFzc3dvcmQ6.

然后以Base64格式复制并粘贴密码:JHVwM1JzVHIpbmc =

如果用户名和密码正确,服务器将返回:

235 2.7.0 Authentication successful

如果不:

535 5.7.8 Error: authentication failed: UGFzc3dvcmQ6

辞职

221 2.0.0 Closing connection.
Connection closed by foreign host.

仅此而已,电子邮件将成功发送到收件人邮箱。