这是《计算机网络——自顶向下方法》里的一个小实验,对理解smtp的交流和电子邮件的报头都很有帮助。是个很值得尝试的实验。
首先,我们需要下载 telnet
sudo apt install telnetd -y
其次,按照这个文档所示的方式开启QQ邮箱的SMTP服务
# 使用QQ邮箱发送邮件,QQ邮箱的smtp设置
并记住自己的身份认证密码。
接下来,打开linux系统的xshell(快捷键 ctrl+alt+T),输入以下命令:
telnet smtp.qq.com 25
会看到如下返回:
依次输入以下命令:
auth login //输入命令验证身份
334 VXNlcm5hbWU6 //服务器返回Username:的base64编码符
******** //输入自己邮箱号,例123456789@qq.com的base64编码值
334 UGFzc3dvcmQ6 //服务器返回Password:的base64编码符
******** //输入自己身份认证密码的base64编码值
235 Authentication successful //连接成功
base64编码可以上网随便找转换工具,保险起见邮箱号和身份认证密码分别用两个不同的网站编码。或自己写一个也行。
连接成功后就可以按照书上的步骤:
Helo **** //主机名,可填邮箱号
250-newxmesmtplogicsvrsza9.qq.com-9.21.152.27-66638923
250-SIZE 73400320
250 OK
mail from: <123456789@qq.com> //填你的邮箱号
250 OK
rcpt to: <123456789@gmail.com> //填你想发送的邮箱号
250 OK
data
354 End data with <CR><LF>.<CR><LF>.
//报头必不可少,否则可能被当成垃圾邮件退回
From: 123456789@qq.com
To: 123456789@gmail.com
Subject: It may be a huge joke!
Just a test
Could you reach this message?
.
250 OK: queued as.
随后,就能成功收到这份邮件了!
写在结尾
如果这篇文章对你有帮助,不要忘了帮我点个赞~你的赞是我更新的最大动力。