Chinaunix首页 | 论坛 | 博客
  • 博客访问: 128165
  • 博文数量: 35
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 295
  • 用 户 组: 普通用户
  • 注册时间: 2013-10-31 21:01
个人简介

明天的事情后天会知道。心怀梦想,脚踏实地!

文章分类

全部博文(35)

分类: 网络与安全

2014-04-11 21:21:09

一、smtp协议的简单介绍
    1. 名字:简单邮件传输协议
    2. 作用:发送邮件(C/S模式)

二、一个交换邮件报文的例子
    C:client  S:server
  1. S: 220 hamburger.edu
  2. C: HELO crepes.fr
  3. S: 250 Hello crepes.fr, pleased to meet you
  4. C: MAIL FROM:<alice@crepes.fr>
  5. S: 250 alice@crepes.fr … Sender ok
  6. C: RCPT TO:bob@hamburger.edu
  7. S: 250 bob@hamburger.edu … Recipient OK
  8. C: DATA
  9. S: 354 Enter mail, end with “.” on a line by itself
  10. C: Do you like ketchup?
  11. C: How about pickles?
  12. C: .
  13. S: 250 Message accepted for delivery
  14. C: QUIT
  15. S: 221 hamburger.edu closing connection
三、telnet模拟smtp协议发送邮件
   一般的smtp邮件服务器域名都是smtp.xxx.xxx,比如QQ邮箱的smtp服务器是smtp.qq.com,126邮箱是smtp.126.com,少部分比较特殊,比如hust邮箱的smtp服务器竟然是mail.hust.edu.cn。。这里以QQ邮箱为例
    第一步是这条命令:“telnet smtp.qq.com 25”,smtp服务的默认端口是25
    接下来看图说话吧 
 
    本地命令顺序依次为

点击(此处)折叠或打开

  1. helo localhost
  2. (服务器回复)
  3. auth login
  4. (服务器回复)
  5. 经base64编码后的你的邮箱用户名
  6. (服务器回复)
  7. 经base64编码后的你的邮箱密码
  8. (服务器回复)
  9. MAIL FROM:<1581765585@qq.com>
  10. (服务器回复)
  11. RCPT TO:<1223292709@qq.com>
  12. (服务器回复)
  13. DATA
  14. From:wmlhust@126.com
  15. To:1581765585@qq.com
  16. Subject:this is the subject

  17. this is the content of the mail

  18. .
  19. (服务器回复)
效果如何呢,且看我邮箱截图

由于我刚才一不小心,把data里面的from项写错了,而我登录又是用1581765585@qq.com这个邮箱,这两个不一致,所以才会出现发件人第二行的“由......代发”这一句。如果两者一致,就不存在代发的问题,也就不会有这一句提示。还有需要注意的是,data的格式一定要按照图示的,主题(subject)和邮件正文之间有个空行。。还有最后邮件内容结束是通过判断这个标志“回车换行+小数点+回车换行”来结束的。

最后切断与smtp服务器之间的连接用QUIT这个命令,刚才忘加了。。OK,这个过程就算结束了,多折腾吧。

补充一下服务器返回代码代表的含义



阅读(2215) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~