一次有趣的telnet,发邮件

来源:互联网 发布:centos gcc安装包下载 编辑:程序博客网 时间:2024/05/11 05:23

tcp/ip课上,学习到SMTP(简单邮件传输协议),老师让我们用命令行的方式发一份邮件,于是就想到了Telnet(远程终端协议),先登入到主机,那么怎么登入到远程的服务器主机呢?别着急,下文会详细讲解。

注意:现在的许多邮件服务器都是使用SSL(安全套接层)进行登入认证,而cmd下又不支持SSL协议,那就只能找一个不使用SSL协议的邮件服务器了。在下面的例子中,我使用的是中国移动的139邮箱。

现在开始使用cmd下发邮件,步骤如下。

1.使用Telnet登入到远程主机语法格式是:telnetsmtp.139.com​ 25 telnet 是指使用的协议名称  smtp.139.com是指要登入的主机名25是远程主机的端口。然后在cmd输入 helo 139.com与服务器打招呼,之后远程主机返回250表明与邮件服务器建立连接成功,下一步需要进行认证。



Telnet登入到远

程主机

2.进行认证的语法是 cmd下输入 auth login之后服务器返回334 VXNlcm5hbWU6

就可以输入你自己的邮箱,注意:这里的邮箱是经过BASE64编码的。


输入用户名(经过BASE64编码) 

​3.然后是输入自己的密码(同样是经过BASE64编码)



输入密码(经过BASE64编码)

如果服务返回235Authentication successful则说明登入成功接下来就可以正式发邮件了



登入成功!

我们假设一下,有同学使用qq邮箱会怎么样??我就使用qq邮箱试一下,这样你就会明白我上文中说的ssl认证。



可以看到,虽然连接建立成功,但认证失败了

所以我们要选择一个不使用SSL的服务器。

4.发邮件了。


填写图片摘要(选填)

​ mail from:(邮箱是谁发出的,这里不需要是BASE64编码 

                    返回 250 ok这是正确,否则是错误的。

rcpt to:(邮件的接受者,这里不需要是BASE64编码)

                    返回 250 ok这是正确,否则是错误的。

data (告诉邮件服务器,你要开始写邮件了)

                    354 end with .(写完邮件以  .  结束)

 from to mail fromrcpt to 对应。

subject :(是邮件的)主题。

最后输入 .结束输入。

服务器返回 250 ok则邮件发送成功。



接受成功。

 

0 0