不为有趣之事,何以遣无涯之生

用telnet 发送邮件

Posted on November 9, 2015

使用telnet连接smtp服务器

  1. 使用telnet连接smtp服务器
  2. 发送一个helo或者ehlo指令
  3. 验证用户(使用邮件名登陆)
  4. 使用mail命令准备发送邮件
  5. 使用rcpt命令指定对方邮箱地址
  6. 使用data命令开始输入内容
  7. 输入test或者hello world类似字样(即邮件内容)
  8. 输入邮件内容结束标志.
  9. 退出smtp服务器

使用telnet连接smtp服务器很简单,这里连接163的smtp服务器为smtp.163.com端口为25

telnet smtp.163.com 25

helo和ehlo指令的作用是向服务器标识用户身份,返回邮件服务器身份

helo 163.com

验证用户这里要注意下,使用auth login进行验证时用户名和密码是经过base64编码过后的字符 我们输入auth login回车 然 后你会看见一个334状态码和一个VXNlcm5hbWU6字符串,用base64解码后你会发现这是Username:的意思,也就是说这时输入经过 base64编码后的字符串,至于如何得到base64编码后的字符串,在linux下可以使用base64这个命令得到

echo -n test@163.com | base64

将输出的字符串复制到telnet里回车,这里记住用户名是包括@163.com的 + 然后接着是输入密码,和上面一样,密码也是经过base64编码后的字符串 + 完成后你会看到了登陆成功的提示 + 接下来使用mail指令开始写一个邮件,格式是这样的 +

mail from:

yourname是你的用户名 + 然后指定要将邮件发往何方 +

rcpt to: