音乐网站 源码,购物网站 设计,政务网站建设具体指导意见,保定网站报价1、SMTP介绍
基本概念
SMTP#xff08;Simple Mail Transfer Protocol#xff09;即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件 的规则#xff0c;由它来控制信件的中转方式。SMTP协议属于TCP/IP协议簇#xff0c;它帮助每台计算机在发送或中转信件 时找…1、SMTP介绍
基本概念
SMTPSimple Mail Transfer Protocol即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件 的规则由它来控制信件的中转方式。SMTP协议属于TCP/IP协议簇它帮助每台计算机在发送或中转信件 时找到下一个目的地。通过SMTP协议所指定的服务器,就可以把E-mail寄到收信人的服务器上了整个过程 只要几分钟。SMTP服务器则是遵循SMTP协议的发送邮件服务器用来发送或中转发出的电子邮件。SMTP 是一种TCP协议支持的提供可靠且有效电子邮件传输的应用层协议。
工作过程
首先运行在发送端邮件服务器主机上的SMTP客户发起建立一个到运行在接收端邮件服务器主机上的 SMTP服务器端口号25之间的TCP连接。如果接收邮件服务器当前不在工作SMTP客户就等待一段时间后再 尝试建立该连接。
2、SMTP命令和应答 SMTP使用一些命令和应答在MTA客户和MTA服务器之间进行之间传输报文。如下图所示为SMTP主要的命令和应答
3、邮件报文的封装和报文格式
SMTP协议可以将互联网邮件报文封装在邮件对象中。SMTP协议的邮件对象由两个部分组成信封和内容。
信封实际上是一种SMTP命令。邮件报文是邮件对象中的内容它又有首部和主体两个部分。 如下图就是一个邮件对象的组成的示例
下面是写进了RFC文档的对报文格式的定义
1. 所有报文都是由ASCII码组成2. 报文由报文行组成各行之间用回车CR、换行(LF)符分隔3. 报文的长度不能超过998个字符4. 报文行的长度≤78个字符之内不包括回车换行符5. 报文中可包括多个首部字段和首部内容6. 报文可包括一个主体主体必须用一个空行与其首部分隔7. 除非需要使用回车与换行符否则报文中不使用回车与换行符4、邮件报文的传送过程
连接建立
SMTP客户和SMTP服务器首先要建立TCP连接。1. 从客户端使用熟知端口号25建立与服务器的TCP连接SMTP服务器向该客户送回应答码220并且还为客户端提供了服务器的域名2. 客户端收到应答码后发送HELO命令启动客户端和服务器之间的SMTP会话。该客户端发送的HELO用来向服务器提供客户端的标识信息3. 服务器端回应应答码250通知客户端请求建立邮件服务会话已经实现-报文发送
在SMTP客户与SMTP服务器之间的连接建立之后发信的用户就可以与一个或多个收信人交换邮件报文了。1. 客户用“MAIL ”向服务器报告发信人的邮箱与域名2. 服务器向客户回应应答码“250”代表请求命令完成3. 客户用“RCPT TO”命令向服务器报告收信人的邮箱与域名4. 服务器向客户回应应答码“250”代表请求命令完成5. 客户用“DTAT”命令对报文的传送进行初始化6. 服务器回应“354”表示可以进行邮件输入了7. 客户用连续的行向服务器传送报文的内容每行以两字符的行结束标识CR与LF终止。报文以只有一个“.”的行结束8. 服务器向客户回应应答码“250”代表请求命令完成连接终止
报文发送完毕后终止本次SMTP会话。- 客户端发送“QUIT”命令- 服务器收到命令后回应应答码“221”并结束会话下面我们模拟上述三个步骤对下面这个邮件报文进行传输
建立连接 传输报文 终止连接
5、SMTP协议的扩展协议MIME
MIME不属于一个邮件传输协议它只是对SMTP的一个扩展不能替代SMTP协议至于为啥要替换SMTP了。主要是因为SMTP协议在传输报文时只能够传输7位的ASCII格式的报文不支持那些不使用7位ASCII格式的语种同时它也不支持语音和视频数据的传输因此我们需要一个辅助性协议帮忙传输报文它就是MIME。
MIME协议定义了5种头部用来加在原始的STMP头部以便定义参数的转换。他们分别是
1. MIME-VersionMIME版本2. Content-Type内容类型3. Content-Tansfer-Encoding内容传输编码4. Content-ID内容标识5. Content-Description内容描述如下图所示就是一个MIME邮件报文格式