SMTP概念

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAeG1oLXN4aC0xMzE0,size_18,color_FFFFFF,t_70,g_se,x_16SMTP在邮件通信过程中的位置

 

SMTP,即简单邮件传送协议,所对应RFC文档为RFC821。同http等多数应用层协议一样,它工作在C/S模式下,用来实现因特网上的邮件传送。SMTP在整个电子邮件通信中所处的位置如图1所示。

 

                                               图片1

 

图1.电子邮件的通信过程

 

可以看出,SMTP是用来将客户机上的邮件传送到服务器上。这里的客户机是指某次连接中的发送方,服务器是指相应的接收方。在讲解发送邮件的整个通信过程前,先解释一下面几个术语。

 

 

1.2. 几个术语

 

1.2.1. 邮件

邮件是一种消息的格式,由信封、首部和正文组成。

 

信封上最重要的是收信人的地址。邮件服务器用这个地址将邮件发送到收信人所在的邮件服务器上。

 

首部是由用户代理或邮件服务器添加的一些信息。包括Received、Message-ID、From、Data、Reply-To、X-Phone、X-Mailer、To和Subject等字段。

 

正文是是发送用户发给接收用户报文的内容。RFC 822规定正文为NVT ASCII文字行。

 

更为详细的说明,请参考RFC821和RFC822等协议。

 

1.2.2. 用户代理

用户代理UA(User Agent)是用户与电子邮件系 统的交互接口,一般来说它就是我们PC机上的一个程序。Windows上常见的用户代理是Foxmail和Outlook Express。

 

用户代理提供一个好的用户界面,它提取用户在其界面填写的各项信息,生成一封符合SMTP等邮件标准的邮件,然后采用SMTP协议将邮件发送到发送端邮件服务器。

 

1.2.3. 邮件服务器

邮件服务器是电子邮件系统的核心,它用来发送和接收邮件。邮件服务器不同于普通PC的是它几乎是全天工作的,所以它可以在任何时候为用户提供服务,后面将提到这正是为什么需要邮件服务器的一个重要原因。很多ISP都提供免费的邮件服务器,如126提供smtp.126.com邮件服务器。

 

邮件服务器向其它邮件服务器转发邮件也是采用SMTP协议。

 

1.3. 邮件的收发过程

一般情况下,一封邮件的发送和接收过程如下。

 

1) 发信人在用户代理里编辑邮件,包括填写发信人邮箱、收信人邮箱和邮件标题等等。

 

2) 用户代理提取发信人编辑的信息,生成一封符合邮件格式标准(RFC822)的邮件。

 

3) 用户代理用SMTP将邮件发送到发送端邮件服务器(即发信人邮箱所对应的邮件服务器)。

 

4) 发送端邮件服务器用SMTP将邮件发送到接收端邮件服务器(即收信人邮箱所对应的邮件服务器)。

 

5) 收信人调用用户代理。用户代理用POP3协议从接收端邮件服务器取回邮件。

 

6) 用户代理解析收到的邮件,以适当的形式呈现在收信人面前。

 

 

第2章. SMTP详解

 

2.1. 通信过程

一个具体的SMTP通信(如发送端邮件服务器与接收端服务器的通信)的过程如下。

 

1) 发送端邮件服务器(以下简称客户端)与接收端邮件服务器(以下简称服务器)的25号端口建立TCP连 接。

 

2) 客户端向服务器发送各种命令,来请求各种服务(如认证、指定发送人和接收人)。

 

3) 服务器解析用户的命令,做出相应动作并返回给客户端一个响应。

 

4) 2)和3)交替进行,直到所有邮件都发送完或两者的 连接被意外中断。

 

从这个过程看出,命令和响应是SMTP协议的重点,下面将予以重点讲述。

 

 

 

2.2. 命令和响应

 

2.2.1. 格式

SMTP的命令不多(14个),它的一般形式是:COMMAND [Parameter] <CRLF>。

 

COMMAND:ASCII形式的命令名

 

Parameter:相应的参数

 

<CRLF>:回车换行符(0DH, 0AH) (C语言中\r\n)

 

 

 

SMTP的响应也不复杂,它的一般形式是:XXX Readable Illustration。

 

XXX:三位十进制数

 

Readable Illustration:可读的解释说明,用来表明命令是否成功等。XXX具有如下的规律:以2开头的表示成功,以4和5开头的表示失败,以3开头的表示未完成(进行中)。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值