[网络工程师]-应用层协议-电子邮件协议

news2024/11/25 0:54:27

        常见的电子邮件协议有简单邮件传输协议、邮局协议和Internet邮件访问协议。

1、简单邮件传输协议(Simple Mail Transfer Protocol,SMTP)

        SMTP主要负责将电子邮件从发送方传送到接收方,即对传输的规则做了规定,该协议工作在TCP协议的25号端口。

        SMTP的通信模型主要集中在发送SMTP和接收SMTP上:首先针对用户发出的邮件请求,建立发送SMTP到接收SMTP的双工通信链路,接收方是相对于发送方而言,实际上它既可以是最终的接收者也可以是中间传送者。发送方负责向接收方发送SMTP命令,接收方负责接收并反馈应答。SMTP协议通信模型如下:

         在SMTP通信链路建立后,发送方发送MAIL命令,若接收方可以接收邮件则做出OK的应答,然后发送方继续发出PCPT命令以确定邮件是否收到,如果接收到就做出OK的应答,否则就发出拒绝接收应答。双方如此反复多次,直至邮件处理完毕。

        SMTP协议共包含20个SMTP命令。如下表所示:

SMTP命令命令说明
ATRN支持域参数的TURN命令,用来改变在传输信道上通信程序的角色,如将发送方与接收方的角色互换。可带一个或多个域,不指定域参数时,代表所有域。
AUTH用户认证
BDAT二进制的DATA命令
DATA后面将传送数据,以两个回车换行结束
EHLO扩展的Hello命令
ETRN将指定邮件系统队列中发给所设置的域名的邮件收取到本系统的邮件队列中,然后邮件队列程序将这些邮件分发各个接收人,从而实现邮件网关功能
EXPN验证给定的邮箱别名是否存在,扩充邮箱列表,也常禁止使用
HELO确认发送者
HELP查询服务器支持什么命令
MAIL开始一个邮件传输事务,对所有的状态和缓冲区进行初始化,最终完成将邮件数据传送到一个或多个邮箱中
NOOP空操作,要求接收SMTP仅做OK应答
QUIT要求接收SMTP返回一个OK应答并关闭传输
RCPT标识单独的邮件接收者
RSET终止处理
SAMLsend and mail,如果接受者在线,在接收者终端上显示信息,并发送邮件
SEND如果接受者在线,在接收者终端上显示信息
SOMLsend or mail,如果接受者在线,在接收者终端上显示信息,否则发送邮件
STARTTLS请求建立TLS安全连接
TURN无需拆除TCP连接,客户与服务器交换角色
VRFY校验一个用户是否存在,由于安全因素,服务器多禁止此命令

        SMTP协议的每一个命令都会返回一个应答码,应答码的每一个数据都是有特定含义的,如第一位数字为2时表示命令成功,为3表示没有完成,为5表示失败。

2、邮局协议(Post Office Protocol,POP)

        POP是基于C/S架构的电子邮件协议,目前发展到第三版,称POP3。POP3是把邮件从邮件服务器传输到本地计算机的协议。该协议工作在TCP协议的110端口。

        POP3是因特网电子邮件第一个离线协议标准,允许用户从服务器上把邮件存储到本地主机上,同时删除保存在邮件服务器的邮件。

        POP3适用于C/S结构的脱机模型,脱机模型不能在线操作,当客户机与服务器连接并查询新电子邮件时,被该客户机指定的所有被下载的邮件都将被程序下载到客户机,下载后,电子邮件客户机就可以删除或修改任意邮件,而无需与电子邮件服务器进一步交互。

        POP3服务器通过侦听TCP端口110开始POP3服务。当客户主机需要使用服务时,它将与服务器建立TCP连接,当连接建立后,POP3服务器发送确认消息。客户和POP3服务器相互交换命令和响应,这一过程一直要持续到连接终止。

        POP3命令由命令字和参数组成,所有命令以一个CRLF对结束。命令和参数由可打印的ACSII字符组成,它们之间由空格间隔。命令一般是3~4个字母,每个参数最长40字符。

        POP3响应由一个状态码和一个可能跟有附加信息的命令组成,所有的响应也是由CRLF组成。现在有两种状态码:“确定”(“+OK”)和“失败”(“-ERR”)。

        POP3服务器响应由一个单独的命令行或多个命令行组成,响应第一行以ASCII文本+OK或-ERR指出响应的操作状态是成功还是失败。在POP3协议中有三种状态:认可状态、处理状态和更新状态。

3、Internet邮件访问协议(Internet Message Access Protocol,IMAP)

        IMAP提供了有选择地从邮件服务器接收邮件的功能、基于服务器的信息处理功能和共享信箱功能,目前版本为4,称为IMAP4。该协议工作在TCP协议的143号端口。

        IMAP4是POP3的一种替代协议,用于可以不必下载邮件正文就可以看到邮件的标题和摘要,使用邮件客户端软件就能对服务器上的邮件和文件夹目录进行操作。

        IMAP提供3中操作模式:

        (1)在线方式:邮件保留在E-MAIL服务器端,客户端可以对其进行管理,其使用方法与web mail相似;

        (2)离线方式:离线方式与POP3提供的服务类似,用户的电子邮件从服务器全部下载到用户计算机;

        (3)断开方式:断开连接工作方式下,用户的一部分邮件被保留在服务器的一段,另一部分在用户计算机上,如果用户读取没有下载的邮件,则客户端再次与服务器建立连接,下载指定的信件;如果已经下载,则直接显示本地信件副本。

        IMAP协议增强了电子邮件的灵活性,同时也减少了垃圾邮件对本地系统的直接危害,同时相对节省了用户查看电子邮件的时间,除此之外,IMAP协议可以记忆用户在脱机状态下对邮件的操作,在下一次打开网络连接时自动执行。

4、多用户互联网邮件扩展(Multipurpose Internet Mail Extensions,MIME)

        MIME对传输内容的消息、附件及其他内容定义了格式,解决传输多种类型信息的困难,强化压缩和加密的能力,规定了通过SMTP协议传输非文本电子邮件附件的标准。

        MIME邮件允许包括:

  • 单个消息中可含多重形式;
  • 文本文档不限制行长或全文长;
  • 可传输ASCII外的字符集,允许非英语语种的消息;
  • 多字体消息;
  • 二进制或指定应用程序文件;
  • 图像、声音、视频及多媒体消息。

        MIME的安全版本(Secure/Multipurpose Internet Mail Extensions,S/MIME)设计支持邮件的加密,包括:认证、完整性保护、鉴定及数据保密等。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/65343.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

2023最新SSM计算机毕业设计选题大全(附源码+LW)之java医院疫情管理系统4f9a9

毕业设计其实不难,主要毕业的时候任务太紧了,所以大家都非常忙没有时间去做,毕业设计还是早做准备比较好,多花点时间也可以做出来的,建议还是自己动手去做,比如先选一个题,这样就有方向&#xf…

Markdown 图片左右对齐、居中、大小设置

Markdown 图片左右对齐、居中、大小设置 虽然经常使用 Markdown 写博客,但是,我却不太知道 Markdown 图片的位置和大小设置,今天刚好发表博客的时候,发觉图片位置有点丑,Google 查到了方法,所以记录学习一下…

李立宗《计算机视觉40例》PPT课件:第3章

《计算机视觉40例》PPT课件:第3章 《计算机视觉40例》第3章是OpenCV入门,这一章对OpenCV的使用进行了简单的介绍。这章目录如下: 本章集中介绍了OpenCV中一些最通用的知识,这些知识在后面的案例中应用比较广泛,所以集…

木聚糖-聚乙二醇-牛血清白蛋白,BSA-PEG-Xylan,牛血清白蛋白-PEG-木聚糖

木聚糖-聚乙二醇-牛血清白蛋白,BSA-PEG-Xylan,牛血清白蛋白-PEG-木聚糖 中文名称:木聚糖-牛血清白蛋白 英文名称:Xylan-BSA 纯度:95% 别称:牛血清白蛋白修饰木聚糖,BSA-木聚糖 PEG接枝修饰木聚糖 木聚糖-聚乙二醇…

Mysql——》decimal

推荐链接: 总结——》【Java】 总结——》【Mysql】 总结——》【Redis】 总结——》【Kafka】 总结——》【Spring】 总结——》【SpringBoot】 总结——》【MyBatis、MyBatis-Plus】 Mysql——》decimal一、作用二、语法三、示例一、…

ADSP-21489的开发详解:VDSP+自己编程写代码开发(8-延时算法)

这个程序,对 48Khz 或 96Khz 采样率的音频,进行了延时处理,并输出。跑程序和上面的例程一样,我们来看一下他音频处理部分的具体程序。(音频输入输出需根据程序换接口) Left_Channel_Out1 Left_Channel_In2…

MEI 论文笔记

Multi-Partition Embedding Interaction with Block Term Format for Knowledge Graph Completion- Introduction- Algorithm- Experiment- Conclusion- CodeHung-Nghiep Tran, Atsuhiro Takasu - Introduction 以前的工作通常将每个嵌入视为一个整体,并对这些整体…

元宇宙产业委共同主席倪健中:打开元宇宙的潘多拉魔盒,释放元宇宙产业无限的想象与发展空间|平安银行元宇宙与新终端创新沙龙

12 月 2 日, 平安银行携手业内元宇宙知名专家学者、行业投资人、新终端企业代表在深圳蛇口举办“洞见未来超前领航——2022 平安银行元宇宙与新终端创新沙龙”,共同探讨虚拟现实的多样性,畅游元宇宙时空下的科技文明! 活动开场&am…

VSCode使用Qt的MinGW作为编译器编译C++

一、起因 我本人已经安装了Qt、VS、VSCode,因此不想再安装其他的编译器,但又想使用VSCode直接编译,所以就想看一下能否VSCode能否直接使用Qt的编译器。经过实验的确是可以的,这样就无需再下载MinGW-w64,其实我也有下载…

mongodb6创建账号

目录一、创建管理员账号二、创建普通账号一、创建管理员账号 无权限登录mongodb(即官方默认配置登录) mongosh --host 127.0.0.1 --port 27017创建管理员账号 #切换到admin数据库 use admin #创建admin账号 db.createUser({user:"testAdmin"…

22年下半年软考考后成绩查询、分数线、证书领取相关注意事项

一、软考成绩查询时间 软考考试时间分为上半年和下半年,上半年固定是在五月份下半年固定是在十一月份。 成绩查询时间一般在考试时间后的两个月左右根据历年来看, 2022年上半年软考考试时间是5月28-29日,成绩7月中旬左右在官网可以查询&am…

聊天信息框显示消息

聊天信息框显示消息 效果展示 概述 本文讲解如何制作&#xff0c;可以提交信息的聊天框&#xff0c;并且可以删除已经发布的聊天信息。 构建HTML框架 <body><textarea name"" id""></textarea><button>发布</button><…

基于java(ssm)学生在线课程学习系统源码(java毕业设计)

基于java&#xff08;ssm&#xff09;学生在线课程学习系统 学生在线课程学习系统是基于java编程语言&#xff0c;mysql数据库&#xff0c;ssm框架&#xff0c;和idea工具开发&#xff0c;本项目主要分为学生&#xff0c;管理员两个角色&#xff0c;学生的功能是登陆&#xff…

移动端抓包

1.手机连接电脑&#xff08;处于一个局域网&#xff09; 手机、电脑连接同一个WIFI电脑通过网线连接无线路由&#xff0c;手机连接这个WIFI手机开热点&#xff0c;电脑连接这个热点 2.Fiddler 代理 开启Fiddler代理&#xff0c;tools——Options——Connections——Allow re…

【C++】单例模式

目录 1.如何提供一个全局变量来记录函数调用次数呢&#xff1f; 2.1饿汉模式 2.2懒汉模式 2.2.1实现一个内嵌垃圾回收类 懒汉的另一种写法 1.如何提供一个全局变量来记录函数调用次数呢&#xff1f; 声明定义分离 func.h extern int Count ;//声明 func.cpp #include "…

如何实现人机界面与多台plc之间无线通讯?

本文将以MCGS触摸屏与三菱FX5U PLC基于MODBUS协议下的无线通信为例&#xff0c;为大家详细讲解如何用无线方式解决触摸屏与PLC之间的通讯问题。 测试设备与参数 1. 三菱PLC型号&#xff1a;FX5U *1台 2. 触摸屏型号&#xff1a;昆仑通态TPC7062TD *1台 3. 无线通讯设备&…

Nginx中配置GZIP压缩详解

网站访问速度对用户来说是很重要的体验&#xff0c;有时候除了增大带宽外&#xff0c;还需要对文件进行压缩。 首先找到Nginx安装路径下的配置文件&#xff1a; 保存后&#xff0c;使用nginx -t检查配置文件是否OK&#xff1a; 上述报错证明nginx在编译安装时候没有连同http_s…

Grafana+Prometheus打造运维监控系统(二)-数据获取篇-node_exporter

要实现各种数据指标采集&#xff0c;需要安装不同的数据导出器&#xff0c;常用的导出器有node_exporter、process-exporter、blackbox_exporter&#xff0c;这里简单讲一下node_exporter&#xff0c;node_exporter安装参考上篇&#xff1a;https://blog.csdn.net/zcm545186061…

SpringCloud Nacos入门教程

服务发现和服务健康监测 动态配置服务 动态DNS服务 服务及其元数据管理 二、Nacos快速开始 结构图&#xff1a; Nacos 依赖 Java 环境来运行。如果您是从代码开始构建并运行Nacos&#xff0c;还需要为此配置 Maven环境&#xff0c;请确保是在以下版本环境中安装使用: 64 …

木聚糖-聚乙二醇-聚丙烯酸|PAA-PEG-Xylan|聚丙烯酸-PEG-木聚糖

木聚糖-聚乙二醇-聚丙烯酸|PAA-PEG-Xylan|聚丙烯酸-PEG-木聚糖 英文名称&#xff1a;Xylan-PAA 别称&#xff1a;聚丙烯酸修饰木聚糖&#xff0c;聚丙烯酸-木聚糖 PEG接枝修饰木聚糖 木聚糖-聚乙二醇-聚丙烯酸 PAA-PEG-Xylan 聚丙烯酸-PEG-木聚糖 纯度&#xff1a;95% …