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 from和rcpt to 对应。
subject :(是邮件的)主题。
最后输入 .结束输入。
服务器返回 250 ok则邮件发送成功。
接受成功。