Telnet远程登录SMTP服务器测试

软件课设要求做一个windows下的邮件管理客户端,基本功能:收发邮件。。楼主渣渣一枚,没经验,只能苦逼地在黑暗中摸索摸索摸索摸索......了。今天了解了一下SMTP协议是个什么玩意,照着网上test了一遍Telnet远程登录SMTP服务器发邮件。对代理发邮件过程的理解算有一点点提高吧。

 test过程:
   1.确认电脑打开了Telnet的功能,在控制面板->程序->程序和功能->打开或关闭windows功能,勾选Telnet客户端。
   2.进入cmd命令行,输入Telnet
   3.输入 o smtp.qq.com 25  #此处o是open的缩写,以QQ邮箱为例,25表示SMTP服务器时刻监听的端口号,登录SMTP服务器
   4.输入HELO hiboy         #HELO表示向服务器打招呼,后面内容不限
   5.服务器返回 250 smtp.qq.com      #表示认可了你的身份
   6.输入auth login         #告诉服务器你要登录
   7.服务器返回334 VXN1cm5hbWU6 #这一串字符串表示“Username:”这是base64码
   8.输入账户11111111@qq.com对应的base64码
   9.输入密码对应的base64码
   10.服务器返回235 Authentication successful  #表明身份认证成功可以发邮件了
   11.输入mail from:<11111111@qq.com>   #表明发信人地址
   12.服务器返回250 mail ok
   13.输入rcpt to:<8888888@qq.com>      #表明收件人地址
   14.服务器返回250 mail ok
   15.输入data开始输入邮件内容
   16.from:xxx      #表示发件人
   17.to:xxxx        #表示收件人,可以有多个
   18.subject:xxxxxxx  #输入邮件主题,需要空格一行才开始输入19正文
   19.you are a good boy 
   20.回车以"."结束
   21.服务器返回250 mail ok queued as  #表示放入队列中了等待发送,这时候收件人就能收到了。楼主实验的时候收到了但是被腾讯给屏蔽了,看不到内容。
   22.quit断开连接
   23.221 Bye

SMTP的基本命令集:
HELO    向服务器标识用户身份
MAIL      初始化邮件传输mail from: <xxx>
RCPT    标识单个的邮件接收人;常在MAIL命令后面可有多个rcpt to: <xxx>
DATA     在单个或多个RCPT命令后,表示所有的邮件接收人已标识,初始化数据传 输,以.结束
NOOP  无操作,服务器应响应OK
RSET    重置会话,当前传输被取消
QUIT      结束会话

状态码说明:

220 : 服务就绪

250 :请求邮件动作正确,完成(HELO,MAIL FROM,RCPT TO,QUIT 指令执行成功会返回此信息)

235 :认证通过

221 :正在处理

354 :开始发送数据,结束以 .(DATA指令执行成功会返回此信息)

500 :语法错误,命令不能识别

550 :命令不能执行,邮箱无效

552 :中断处理:用户超出文件空间

  了解这个过程后觉得写代码实现有点头绪了有木有。

posted @ 2015-02-01 23:22  有事没事常回家看看  阅读(10080)  评论(1编辑  收藏  举报