您现在的位置: 捷凌网安 >> 服务器 >> 邮箱服务 >> 正文
SMTP安全手册—理论基础

作者:佚名 责任编辑:左决 点击数: 更新时间:2008-2-21 2:30:37

SMTP协议原理  
  SMTP-简单邮件传输协议(Simple Mail Transfer Protocol),是定义邮件传输的协议,它是基于TCP服务的应用层协议,由RFC0821所定义。SMPT协议规定的命令是以明文方式进行的。为了说明SMTP的工作原理,我们以向www.linuxaid.com.cn发送邮件为实例进行说明。  

  在linux环境下,使用"telnet www.linuxaid.com.cn 25"连接www.linuxaid.com.cn的25号端口(SMTP的标准服务端口);在windows下使用telnet程序,远程主机指定为www.linuxaid.com.cn,而端口号指定为25,然后连接www.linuxaid.com.cn:交互过程如下:  

  [lix@ns lix]$ telnet www.linuxaid.com.cn 25  

  Trying 202.99.11.120...  

  Connected to www.linuxaid.com.cn.  

  Escape character is '^]'.  

HELO ideal  
  220 www.linuxaid.com.cn ESMTP Sendmail 8.10.2/8.10.2; Mon, 18 Sep 2000 13:40:44  

  +0800  

  250 www.linuxaid.com.cn Hello [210.12.114.130], pleased to meet you  

MAIL FROM:ideal@btamail.net.cn  
  250 2.1.0 IDEAL@btamail.net.cn... Sender ok  

  RCPT TO:ideal@linuxaid.com.cn  

  250 2.1.5 ideal@linuxaid.com.cn... Recipient ok  

DATA  
  354 Enter mail, end with "." on a line by ITself  

  hello , Pls to get to meet u :) good luck  

  .  

  250 2.0.0 e8I5j1M11204 Message accepted for delivery  

QUIT  
  221 2.0.0 www.linuxaid.com.cn closing connection  

  Connection closed by foreign host.  

  其中黑体部分是输入的命令,其他内容是对方邮件服务器输出的状态信息。  

  这里,HELO是客户向对方邮件服务器发出的标识自己的身份的命令,这里假设发送者为ideal;MAIL FROM命令用来表示发送者的邮件地址;RCPT TO:标识接收者的邮件地址,这里表示希望发送邮件给ideal@linuxaid.com.cn,如果邮件接收者不是本地用户,例如RCPT TO:ideal@btamail.net.cn,则说明希望对方邮件服务器为自己转发(Relay)邮件,若该机器允许转发这样的邮件,则表示该邮件服务器是OPEN RELAY的,否则说明该服务器不允许RELAY;DATA表示下面是邮件的数据部分,输入完毕以后,以一个"."开始的行作为数据部分的结束标识;QUIT表示退出这次会话,结束邮件发送。  

  这就是一个简单的发送邮件的会话过程,其实当使用outlook express等客户软件发送时,后台进行的交互也是这样的,当然,SMTP协议为了处理复杂的邮件发送情况如附件等等,定义了很多的命令及规定,具体可以通过阅读RFC821来获得。  

  当你的一个朋友向你发送邮件时,他的邮件服务器和你的邮件服务器通过SMTP协议通信,将邮件传递给你邮件地址所指示的邮件服务器上(这里假设你的本地邮件服务器是Linux系统),若你通过telnet协议直接登录到邮件服务器上,则可以使用mail等客户软件直接阅读邮件,但是若你希望使用本地的MUA(Mail User Agent,如outlook express等客户软件)来阅读邮件,则本地客户端通过POP3或IMAP协议与邮件服务器交互,将邮件信息传递到客户端(如:win98系统)。而如果你向你的朋友回复一封信件时,你所使用的MUA也是通过SMTP协议与邮件服务(一般为发送邮件地址对应的email地址)器通信,指示其希望邮件服务器帮助转发一封邮件到你朋友的邮件地址指定的邮件服务器中。若本地邮件服务器允许你通过它转发邮件,则服务器通过SMTP协议发送邮件到对方的邮件服务器。这就是接受和发送邮件的全部过程。  

什么是mail Relay  
  邮件服务器一般具有一个或若干个域名(这些域名应该出现在某个配置文件内),邮件服务器在运行时将监听25号端口,等待远程的发送邮件的请求。网络上其他的mail服务器或者请求发送邮件的MUA(Mail User Agent,如outlook express、foxmail等等)会连接邮件服务器的25号端口,请求发送邮件,SMTP会话过程一般是从远程标识自己的身份开始,过程如下:  

HELO remote.system.domainname  
     250 qmailserver.domain  

MAIL FROM:user@somewherer.net  
     250 OK  

RCPT TO: user1@elsewhere.net  
  邮件的接收者user1@elsewhere.net中的域名并不一定是邮件接受服务器的所具有的本地域名,也就是说邮件目的可能不是上面协议交互中的接收方,而是邮件发送者希望接收邮件服务器帮助其转发邮件。这时候本地系统可能有两种回答,接受它:  

      250 OK  

  或者拒绝接受它:  

      553 sorry,.that domain isnot in my domain list of allowed recphosts  

  第一种情况下,本地邮件服务器是允许relay的,它接收并同意传递一个目的地址不是本地的邮件;而第二种情况则不接收非本地邮件。  

  为什么不能配置邮件服务器为open relay?  

  如果系统管理员将自己的邮件服务器设置为open relay,将会导致一些垃圾邮件发送者将你的邮件服务器作为转发自圾邮件的中继站,这将使垃圾邮件的接收者将矛头对准你,可能会导致报复性的邮件炸弹;垃圾邮件还能消耗你大量的资源,占用你的带宽。更为糟糕的事情可能是你的名字可能会上了黑名单,成为其他邮件接收者共同抵制的目标,你的邮件将被这些接收者所拒绝。  

  因此,系统管理员应当注意不要使自己的邮件服务器是open relay的。

  • 上一篇文章:

  • 下一篇文章:
  •  
    最进更新
    普通文章foxpro 更新源表05-05
    普通文章foxpro 让视图与数据源相连05-05
    普通文章foxpro 机动查询和数据输入05-05
    普通文章foxpro 多个本地数据05-05
    普通文章foxpro 维护源表05-05
    普通文章Oracle 10g Release2新功能之05-05
    普通文章将Oracle 10g内置的安全特性05-05
    普通文章ACCESS 2003 建立数据库视频05-05
    普通文章三种SQL分页法效率分析05-05
    普通文章优化MySQL数据库查询的三种方05-05
     
    推荐文章
    推荐文章教你怎样在MySQL中提高全文搜05-05
    推荐文章SQL Server中数据导入导出三05-05
    推荐文章缓冲技术提高JSP程序的性能和04-17
    推荐文章asp去除HTML标记的三个实用函04-17
    推荐文章何时使用DataGrid、DataList04-17
    推荐文章MySQL存储过程示例04-14
    推荐文章华硕搭建Exchange2007企业邮03-14
    推荐文章升级Win 2003到Windows 200803-14
    推荐文章windows Server 2003 搭建域03-14
    推荐文章服务器成为IT中心的6个理由03-11
     
    热点文章 
    普通文章SQL Server 2008分析服务概览05-01
    普通文章Dlink路由器VPN设置04-29
    推荐文章缓冲技术提高JSP程序的性能和04-17
    普通文章教你优化你的ASP程序04-17
    推荐文章asp去除HTML标记的三个实用函04-17
    普通文章ASP添加验证码的解决方法04-17
    推荐文章何时使用DataGrid、DataList04-17
    普通文章Asp.net中禁止用户多次登录04-17
    普通文章MySQL之表结构修改04-14
    推荐文章MySQL存储过程示例04-14

    | 设为首页 | 加入收藏 | 联系站长 | 广告服务 | 友情链接 | 版权申明 | 网站地图 |

    在线交流 捷凌网安主群:51649627
    Copyright 2007-2008 © 捷凌网安. All rights reserved.
    备案序号:蜀ICP备08001812号