首页 > 其他分享 >SMTP协议的历史和工作原理

SMTP协议的历史和工作原理

时间:2023-08-17 11:07:43浏览次数:38  
标签:RFC 协议 SMTP 发送 原理 电子邮件 客户端

SMTP协议的发展可以追溯到20世纪70年代。当时,ARPANET(Advanced Research Projects Agency Network)需要一种用于发送和接收电子邮件的协议。1980年,网络中心(Network Working Group)发布了第一个SMTP协议标准,即RFC 821(Simple Mail Transfer Protocol)。SMTP协议自此被广泛接受并投入使用。

在随后的几年中,SMTP协议继续发展和完善。1986年,网络工作组发布了RFC 822,这是一个更新版本,提供了一个标准格式来描述电子邮件。随后,网络工作组发布了一系列新的SMTP协议标准,包括RFC 974(传输管理)和RFC 1651(SMTP的拓展)。在90年代,RFC 1869引入了SMTP服务器拓展。

SMTP(Simple Mail Transfer Protocol)是一种用于发送和接收电子邮件的协议。它工作在两种情况下:一、电子邮件从客户端传输到服务器;二、从某一个服务器传输到另一个服务器。SMTP是一个请求/响应协议,命令和响应都是基于ASCⅡ文本,并以CR和LF符结束。

SMTP协议的工作过程如下:

  1. 建立TCP连结。
  2. 客户端发送HELO命令以标识发件人自己的身份,然后客户端发送MAIL命令。
  3. 服务器端以OK作为响应,表明准备接收。
  4. 客户端发送RCPT命令,以标识该电子邮件的计划接收人,可以有多个RCPT行。
  5. 服务器端表示是否愿意为收件人接收邮件。
  6. 协商结束,发送邮件,用命令DATA发送。
  7. 以“.”号表示结束输入内容并发送出去,结束此次发送,用QUIT命令退出。

SMTP协议在TCP协议25号端口监听连续请求。

标签:RFC,协议,SMTP,发送,原理,电子邮件,客户端
From: https://blog.51cto.com/u_14540126/7119116

相关文章

  • 快照隔离级别原理 | StoneDB 技术分享 #1
    设计:小艾审核:丁奇编辑:宇亭作者:罗中天(花名:德里克)浙江大学在读硕士、StoneDB内核研发实习生ANSISQL-92标准中规定了四种事务隔离级别和三种异象:读未提交(ReadUncommitted)、读已提交(ReadCommitted,简称RC)、可重复读(RepeatableRead,简称RR)和串行化(Serializable),其中读......
  • 3d打印机的原理,组成材料,部件功能
    3D打印机是一种快速原型制造技术,通过逐层堆积材料来制造物体。它是数字化制造的重要工具,可以在短时间内将虚拟模型转化为实体物体。接下来,我将详细解释3D打印机的原理、组成材料、部件功能、不同类型打印机的耗材材料和特点以及不同类型打印机的区别。一、3D打印机的原理:3D打印机......
  • 直播平台开发协议分析篇(一):会话初始化协议SIP
    在现代科技的推动下,直播平台被开发出来,成为了全世界人们分享与传播内容的重要渠道,直播平台越来越受欢迎,也督促了开发者要开发出更优质的直播平台,大部分人都明白,要想开发出更优质的直播平台,离不开的是各种优质功能技术,但是,在直播平台开发过程中,还有一个关键的东西需要开发者用心地......
  • 前端路由原理总结
    前端路由原理总结hash路由(vue中的createWebHashHistoryreact中的HashRouter)监听url中hash的变化,然后渲染不同的内容,这种路由不向服务器发送请求,不需要服务端的支持;history路由(vue中的createWebHistoryreact中的BrowserRouter)监听url中的路径变化,需要客户端和服务......
  • 一文了解 history 和 react-router 的实现原理
    我们是袋鼠云数栈UED团队,致力于打造优秀的一站式数据中台产品。我们始终保持工匠精神,探索前端道路,为社区积累并传播经验价值。本文作者:霜序前言在前一篇文章中,我们详细的说了[email protected]升级到@6.x需要注意的问题以及变更的使用方式。react-router版本更新非......
  • Java日志系列:Log4j使用和原理分析
    目录一、简介二、使用三、日志级别四、组件说明LoggersAppendersLayouts五、配置加载初始化配置配置文件加载查看日志记录器的详细信息六、Layout的格式七、Appender的输出FileAppenderRollingFileAppenderDailyRollingFileAppenderJDBCAppender八、日志记录器的层级关系一、简介......
  • [GPT] gradio-chatbot 原理及代码解析
     GradioChatBot是一个基于Gradio的聊天机器人,它可以与不同的URL进行对话。其原理是通过将用户输入的文本发送到指定的URL,然后接收并解析URL返回的响应,然后将响应展示给用户。具体来说,GradioChatBot首先会将用户输入的文本作为参数,发送到指定的URL。URL可以是一个自......
  • 常用协议的格式--主要是传输层及以下
    以太帧IPv4IPv6ARPICMPTCPUDPDHCPDNSSNMPSNMP协议工作方式利用SNMP协议可以更好地管理和监控网络。管理工作站可以远程管理所有支持该协议的网络设备,如监视网络状态、修改网络设备配置、接收网络事件警告等。下面介绍SNMP协议的作用、构成、工作原理及通信方......
  • 网络编程day02--FTP协议
    封装socket网络通信模块-network原因:TCP、UDP客户端、服务端的操作流程固定,所以为了后期使用方便,把socket网络通信封装成网络模块任务:生成libnw.so共享库笔试、面试问题:回答原始函数讲项目:聊封装过程FTP协议FTP的独特的优势同时也是与其它客户服务器程序最大的不同点就在于......
  • 【深度挖掘Java并发编程底层源码】「底层技术原理体系」带你零基础认识和分析学习相关
    FutureTask的基本介绍FutureTask是Java中的一个类,它实现了Future接口和Runnable接口,并且被用作线程执行的任务。FutureTask可以在多线程环境下异步执行一个任务并获取其结果。FutureTask的特点用法异步执行:通过将耗时的任务交给FutureTask,在一个单独的线程中执行,当前线程可以继续执......