SMTP协议介绍_介绍给别人怎么写合同

SMTP协议介绍_介绍给别人怎么写合同1、SMTP介绍基本概念SMTP(SimpleMailTransferProtocol)即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式。SMTP协议属于TCP/IP协议簇,它帮助每台计算机在发送或中转信件时找到下一个目的地。通过SMTP协议所指定的服务器,就可以把E-mail寄到收信人的服务器上了,整个过程只要几分钟。SMTP服务器则

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

1、SMTP介绍

  • 基本概念

SMTP(Simple 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. 除非需要使用回车与换行符,否则报文中不使用回车与换行符

Jetbrains全家桶1年46,售后保障稳定

4、邮件报文的传送过程

  • 连接建立
SMTP客户和SMTP服务器首先要建立TCP连接。

 1. 从客户端使用熟知端口号25建立与服务器的TCP连接,SMTP服务器向该客户送回应答码220,并且还为客户端提供了服务器的域名
 2. 客户端收到应答码后,发送HELO命令,启动客户端和服务器之间的SMTP会话。该客户端发送的HELO用来向服务器提供客户端的标识信息
 3. 服务器端回应应答码250,通知客户端:请求建立邮件服务会话已经实现

-报文发送

在SMTP客户与SMTP服务器之间的连接建立之后,发信的用户就可以与一个或多个收信人交换邮件报文了。

 1. 客户用“MAIL FROM”向服务器报告发信人的邮箱与域名
 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-Version:MIME版本
 2. Content-Type:内容类型
 3. Content-Tansfer-Encoding:内容传输编码
 4. Content-ID:内容标识
 5. Content-Description:内容描述

如下图所示,就是一个MIME邮件报文格式:
这里写图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/200745.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • phpstorm激活码2022.01.13(JetBrains全家桶)2022.03.06

    (phpstorm激活码2022.01.13)JetBrains旗下有多款编译器工具(如:IntelliJ、WebStorm、PyCharm等)在各编程领域几乎都占据了垄断地位。建立在开源IntelliJ平台之上,过去15年以来,JetBrains一直在不断发展和完善这个平台。这个平台可以针对您的开发工作流进行微调并且能够提供…

  • 渗透测试常用工具汇总_常用渗透测试工具

    渗透测试常用工具汇总_常用渗透测试工具——D&X安全实验室工欲善其事,必先利其器。回到过去的旧时代,渗透测试是一件非常困难的事,并且需要大量的手动操作。然而如今,渗透测试工具是”安全军火库”中最常使用的装备,一整套的自动化测试工具似乎不仅改造了渗透测试人员,甚至还可以增强计算机的性能,进行比以往更全面的测试。对渗透测试人员来说不用任何自动化工具对网站或者应用程序进行渗透测试是一件十分困难的事。因此选择一个正确的工具则变得尤为重要,正确的选择甚至占去了渗透测试成功的半壁江山。本篇文章就来和大家介绍一…

  • linux运维面试题大厂,大厂Linux运维面试题详解「建议收藏」

    linux运维面试题大厂,大厂Linux运维面试题详解「建议收藏」大厂面试题:网络基础类面试题01.Linux运维经典面试题_网络基础-视频介绍02.Linux运维经典面试题_网络基础-面试题103.Linux运维经典面试题_网络基础-面试题204.Linux运维经典面试题_网络基础-面试题3Linux系统管理类面试题05.Linux运维经典面试题_Linux系统管理类-权限优化06.Linux运维经典面试题_Linux系统管理类-备份策略07.Linux运维经…

  • CString::ReverseFind()和CString::Find()区别「建议收藏」

    CString::ReverseFind()和CString::Find()区别「建议收藏」Find()是从左往右查找;ReverseFind()是从右边往左查找,但是他们返回的地址都是从左往右数的。示例:[cpp]#include“stdafx.h”#include”afx.h”intmain(intargc,char*argv){CStringstr=”abcdabcd”;inta=str.Find(‘b’);printf(“

  • C语言“fread”函数的用法?「建议收藏」

    C语言“fread”函数的用法?「建议收藏」C语言“fread”函数的用法为“size_tfread(void*buffer,size_tsize,size_tcount,FILE*stream)”,其作用是从一个文件流中…

  • 空间统计:Moran’s I(莫兰指数)

    空间统计:Moran’s I(莫兰指数)前两天聊了空间统计学里面的两个经典概念,今天来说说第一篇文章留下的大坑:Moran’sI。首先,Moran’sI这个东西,官方叫做:莫兰指数,是澳大利亚统计学家帕特里克·阿尔弗雷德·皮尔斯·莫兰(PatrickAlfredPierceMoran)(好长的名字,不过一般都简称为:帕克·莫兰,就是下图这位中年帅哥了),在1950年提出的。这一年,朝鲜战争爆发。莫兰同学1917…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号