伊缘网 首页
 设为首页    加入收藏    用户帮助    联系我们 
网站首页 新闻动态 技术文章 Flash整站 精彩网文 资源下载 视频教程
网上商城 Flash动漫 网页特效 酷站欣赏 BBS论坛 在线工具 留言本站
  F-CMS Flash CMS   CXT Flash Cms   SXW Flash CMS   EXW Flash Cms   
  您的位置: 伊缘网 >> 网络学堂 >> 网络技术 >> 网络应用
 阅读文章

SMTP邮件传输协议

  文章作者:网络来源:转摘浏览次数:10465字体:
 阅读权限:游客身份阅读花费:0 E币添加时间:2008-9-24 下午 08:29:25提交会员:张竟圆
皮具制造生产企业,专注时尚包包
提示:登陆本站会员系统后,网站系统将不显示任何广告!如果您还不是本站会员请注册本站会员,谢谢您对本站的关注!
  SMTP:简单邮件传输协议
  (SMTP:Simple Mail Transfer Protocol)
  SMTP 是一种提供可靠且有效电子邮件传输的协议。 SMTP 是建模在 FTP 文件传输服务上的一种邮件服务,主要用于传输系统之间的邮件信息并提供来信有关的通知。
  SMTP 独立于特定的传输子系统,且只需要可靠有序的数据流信道支持。 SMTP 重要特性之一是其能跨越网络传输邮件,即“ SMTP 邮件中继”。通常,一个网络可以由公用互联网上 TCP 可相互访问的主机、防火墙分隔的 TCP/IP 网络上 TCP 可相互访问的主机,及其它 LAN/WAN 中的主机利用非 TCP 传输层协议组成。使用 SMTP ,可实现相同网络上处理机之间的邮件传输,也可通过中继器或网关实现某处理机与其它网络之间的邮件传输。
  在这种方式下,邮件的发送可能经过从发送端到接收端路径上的大量中间中继器或网关主机。域名服务系统(DNS)的邮件交换服务器可以用来识别出传输邮件的下一跳 IP 地址。
  在传输文件过程中使用25号端口
  SMTP协议原理
  SMTP-简单邮件传输协议(SimpleMailTransferProtocol),是定义邮件传输的协议,它是基于TCP服务的应用层协议,由RFC0821所定义。SMPT协议规定的命令是以明文方式进行的。为了说明SMTP的工作原理,我们以向www.oray.gz.cn发送邮件为实例进行说明。
  在linux环境下,使用"telnet www.oray.gz.cn 25"连接www.oray.gz.cn的25号端口(SMTP的标准服务端口);在windows下使用telnet程序,远程主机指定为www.oray.gz.cn,而端口号指定为25,然后连接www.oray.gz.cn:交互过程如下:
  [lix@nslix]$telnetwww.oray.gz.cn25
  Trying202.99.11.120...
  Connectedtowww.oray.gz.cn.
  Escapecharacteris''^]''.
  HELOideal
  220www.oray.gz.cnESMTPSendmail8.10.2/8.10.2;Mon,18Sep200013:40:44
  +0800
  250www.oray.gz.cnHello[210.12.114.130],pleasedtomeetyou
  MAILFROM:ideal@btamail.net.cn
  2502.1.0IDEAL@btamail.net.cn...Senderok
  RCPTTO:ideal@oray.gz.cn
  2502.1.5ideal@oray.gz.cn...Recipientok
  DATA
  354Entermail,endwith"."onalinebyitself
  hello,Plstogettomeetu:)goodluck
  .
  2502.0.0e8I5j1M11204Messageacceptedfordelivery
  QUIT
  2212.0.0www.oray.gz.cnclosingconnection
  Connectionclosedbyforeignhost.
  其中黑体部分是输入的命令,其他内容是对方邮件服务器输出的状态信息。
  这里,HELO是客户向对方邮件服务器发出的标识自己的身份的命令,这里假设发送者为ideal;MAILFROM命令用来表示发送者的邮件地址;RCPTTO:标识接收者的邮件地址,这里表示希望发送邮件给ideal@oray.gz.cn,如果邮件接收者不是本地用户,例如RCPTTO:ideal@btamail.net.cn,则说明希望对方邮件服务器为自己转发(Relay)邮件,若该机器允许转发这样的邮件,则表示该邮件服务器是OPENRELAY的,否则说明该服务器不允许RELAY;DATA表示下面是邮件的数据部分,输入完毕以后,以一个"."开始的行作为数据部分的结束标识;QUIT表示退出这次会话,结束邮件发送。
  这就是一个简单的发送邮件的会话过程,其实当使用outlookexpress等客户软件发送时,后台进行的交互也是这样的,当然,SMTP协议为了处理复杂的邮件发送情况如附件等等,定义了很多的命令及规定,具体可以通过阅读RFC821来获得。
  当你的一个朋友向你发送邮件时,他的邮件服务器和你的邮件服务器通过SMTP协议通信,将邮件传递给你邮件地址所指示的邮件服务器上(这里假设你的本地邮件服务器是Linux系统),若你通过telnet协议直接登录到邮件服务器上,则可以使用mail等客户软件直接阅读邮件,但是若你希望使用本地的MUA(MailUserAgent,如outlookexpress等客户软件)来阅读邮件,则本地客户端通过POP3或IMAP协议与邮件服务器交互,将邮件信息传递到客户端(如:win98系统)。而如果你向你的朋友回复一封信件时,你所使用的MUA也是通过SMTP协议与邮件服务(一般为发送邮件地址对应的email地址)器通信,指示其希望邮件服务器帮助转发一封邮件到你朋友的邮件地址指定的邮件服务器中。若本地邮件服务器允许你通过它转发邮件,则服务器通过SMTP协议发送邮件到对方的邮件服务器。这就是接受和发送邮件的全部过程。
  什么是mailRelay
  邮件服务器一般具有一个或若干个域名(这些域名应该出现在某个配置文件内),邮件服务器在运行时将监听25号端口,等待远程的发送邮件的请求。网络上其他的mail服务器或者请求发送邮件的MUA(MailUserAgent,如outlookexpress、foxmail等等)会连接邮件服务器的25号端口,请求发送邮件,SMTP会话过程一般是从远程标识自己的身份开始,过程如下:
  HELOremote.system.domainname
  250qmailserver.domain
  MAILFROM:user@somewherer.net
  250OK
  RCPTTO:user1@elsewhere.net
  邮件的接收者user1@elsewhere.net中的域名并不一定是邮件接受服务器的所具有的本地域名,也就是说邮件目的可能不是上面协议交互中的接收方,而是邮件发送者希望接收邮件服务器帮助其转发邮件。这时候本地系统可能有两种回答,接受它:
  250OK
  或者拒绝接受它:
  553sorry,.thatdomainisnotinmydomainlistofallowedrecphosts
  第一种情况下,本地邮件服务器是允许relay的,它接收并同意传递一个目的地址不是本地的邮件;而第二种情况则不接收非本地邮件。
  为什么不能配置邮件服务器为openrelay?
  如果系统管理员将自己的邮件服务器设置为openrelay,将会导致一些垃圾邮件发送者将你的邮件服务器作为转发自圾邮件的中继站,这将使垃圾邮件的接收者将矛头对准你,可能会导致报复性的邮件炸弹;垃圾邮件还能消耗你大量的资源,占用你的带宽。更为糟糕的事情可能是你的名字可能会上了黑名单,成为其他邮件接收者共同抵制的目标,你的邮件将被这些接收者所拒绝。

  Tags:  邮件  传输  协议  SMTP  
·上篇文章:最新QQ空间去横幅代码
·下篇文章:花生壳用法
复制 】 【 打印
 相关文章
·百度资料: SMTP邮件传输协议
·让多个硬盘轻松同步数据同时传输 2007-7-31 下午 09:41:58
·用PHP实现在线发邮件 2007-6-30 下午 11:12:59
·在.net中通过Google Gmail发送邮件 2007-5-18 上午 12:54:50
·在ASP程序中使用Telnet协议 2007-3-5 下午 11:05:23
·网络通信协议 2006-3-25 下午 02:15:32
特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系我们,我们尽快予以更正,谢谢。
 相关评论
【文章评论已关闭】
伊缘网