- 1、本文档共24页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
SMTP协议-浅谈
基本介绍 SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式。 SMTP协议属于TCP/IP协议族,它帮助每台计算机在发送或中转信件时找到下一个目的地。通过SMTP协议所指定的服务器,就可以把Email寄到收信人的服务器上了。 SMTP服务器则是遵循SMTP协议的发送邮件服务器,用来发送或中转发出的电子邮件。 采用ASCII文本形式组织邮件内容,非常直观和简单 SMTP在邮件通信中的位置 SMTP,即简单邮件传送协议,所对应RFC文档为RFC821。同http等多数应用层协议一样,它工作在C/S模式下,用来实现因特网上的邮件传送。 SMTP在整个电子邮件通信中所处的位置如图所示。 SMTP在邮件通信中的位置 电子邮件的通信过程 可以看出,SMTP是用来将客户机上的邮件传送到服务器上 客户机是指某次连接中的发送方 服务器是指相应的接收方 用户代理 用户代理UA(User Agent)是用户与电子邮件系统的交互接口,一般来说它就是PC机上的一个程序。Windows上常见的用户代理是Foxmail和Outlook Express。 用户代理提供一个好的用户界面,它提取用户在其界面填写的各项信息,生成一封符合SMTP等邮件标准的邮件,然后采用SMTP协议将邮件发送到发送端邮件服务器。 邮件服务器 邮件服务器是电子邮件系统的核心,它用来发送和接收邮件。邮件服务器不同于普通PC的是它几乎是全天工作的,所以它可以在 任何时候为用户提供服务。 很多ISP都提供免费的邮件服务器,如126提供 邮件服务器。 邮件服务器向其它邮件服务器转发邮件也是采用SMTP协议。 SMTP的通信模型:针对用户的邮件请求,发送SMTP建立与接收SMTP之间建立一个双向传送通道。接收SMTP可以是最终接收者也可以是中间传送者。SMTP命令由发送SMTP发出,由接收SMTP接收,而应答则反方面传送。 一旦传送通道建立,SMTP发送者发送MAIL命令指明邮件发送者。如果SMTP接收者可以接收邮件则返回OK应答。SMTP发送者再发出RCPT命令确认邮件是否接收到。如果SMTP接收者接收,则返回OK应答;如果不能接收到,则发出拒绝接收应答(但不中止整个邮件操作),双方将如此重复多次。当接收者收到全部邮件后会接收到特别的序列,如果接收者成功处理了邮件,则返回OK应答。 邮件 邮件是一种消息的格式,由信封、首部和正文组成 信封上最重要的是收信人的地址。邮件服务器用这个地址将邮件发送到收信人所在的邮件服务器上。 首部是由用户代理或邮件服务器添加的一些信息。包括Received、Message-ID、From、Data、Reply-To、X-Phone、X-Mailer、To和Subject等字段。 正文是是发送用户发给接收用户报文的内容。RFC 822 规定正文为NVT ASCII文字行。更为详细的说明,请参考RFC821和RFC822等协议。 邮件的收发过程 一般情况下,一封邮件的发送和接收过程如下。 1)发信人在用户代理里编辑邮件,包括填写发信人邮箱、收信人邮箱和邮件标题等等。 2)用户代理提取发信人编辑的信息,生成一封符合邮件格式标准(RFC822)的邮件。 3)?用户代理用SMTP将邮件发送到发送端邮件服务器(即发信人邮箱所对应的邮件服务器)。 4)发送端邮件服务器用SMTP将邮件发送到接收端邮件服务器(即收信人邮箱所对应的邮件服务器)。 5)收信人调用用户代理。用户代理用POP3协议从接收端邮件服务器取回邮件。 6)用户代理解析收到的邮件,以适当的形式呈现在收信人面前 SMTP详解-通信过程 一个具体的SMTP通信(如发送端邮件服务器与接收端服务器的通信)的过程如下。 1)发送端邮件服务器(以下简称客户端)与接收端邮件服务器(以下简称服务器)的25号端口建立TCP连接。 2)客户端向服务器发送各种命令,来请求各种服务(如认证、指定发送人和接收人)。 3)服务器解析用户的命令,做出相应动作并返回给客户端一个响应。 4) 2)和3)交替进行,直到所有邮件都发送完或两者的连接被意外中断 命令和响应 SMTP的命令不多(14个),它的一般形式是:COMMAND? [Parameter] CRLF。其中COMMAND是ASCII形式的命令名,Parameter是相应的命令参数,CRLF是回车换行符 (0DH, 0AH)。 SMTP的响应也不复杂,它的一般形式是:XXX? Readable Illustration。XXX是三位十进制数;Readable Illustration是可读的解释说明,用来表明命令是否成功等。 XXX具有如下的规律:以2开头的
文档评论(0)