计算机网络 —— 应用层(电子邮件)

计算机网络 —— 应用层(电子邮件)

  • 电子邮件
  • 发送电子邮件的过程
  • SMTP
      • 特性
      • 工作流程
  • 电子邮件格式
  • MIME
      • 关键组件
      • 工作方式
  • POP/IMAP
      • POP(邮局协议)
      • IMAP(因特网邮件访问协议)
  • 基于万维网的电子邮箱
      • 特点
      • 优势
      • 常见的基于万维网的电子邮件服务:

今天我们来看电子邮件的相关内容:

电子邮件

电子邮件服务是应用层中的一个重要组成部分。电子邮件服务允许用户通过网络交换文本、图片、文件等信息。以下是一些关键概念和技术,涉及电子邮件在计算机网络中的工作方式:

SMTP(Simple Mail Transfer Protocol)

  • 作用:SMTP是电子邮件系统中最基础的协议之一,用于在邮件服务器之间传输邮件。它定义了邮件如何在服务器间路由以及邮件格式的标准。
  • 过程:当用户通过电子邮件客户端(如Outlook、Gmail客户端)发送邮件时,客户端通过SMTP与邮件发送方的服务器通信,将邮件传递给该服务器。然后,服务器通过SMTP与其他邮件服务器通信,将邮件一步步转发至接收方的邮件服务器。

POP3(Post Office Protocol version 3)和IMAP(Internet Message Access Protocol)

  • POP3:允许用户从邮件服务器下载邮件到本地设备,通常在下载后服务器上的邮件会被删除或标记为已取。适用于偶尔从单一设备检查邮件的用户。
  • IMAP:提供了一种更灵活的方式访问邮件,允许用户在邮件服务器上保留邮件,并从多个设备访问邮件的最新状态,包括邮件夹结构、邮件标记等。适合需要在多设备间同步邮件的用户。

MIME(Multipurpose Internet Mail Extensions)

  • 作用:MIME扩展了SMTP协议,使得电子邮件可以包含非ASCII文本内容,如图片、音频、视频和各种文档格式。通过定义一系列的内容类型和编码方案,MIME确保了这些多媒体内容能够正确地通过电子邮件传输。

邮件客户端

  • 作用:邮件客户端(或称为邮件用户代理,MUA)是用户直接交互的软件,用于撰写、发送、接收和管理电子邮件。常见的客户端包括Microsoft Outlook、Mozilla Thunderbird、以及Web界面如Gmail、Outlook.com等。

邮件服务器

  • 作用:邮件服务器负责接收、存储、转发邮件。主要有两部分功能:SMTP服务器用于发送邮件;POP3或IMAP服务器用于接收邮件。常见的邮件服务器软件有Microsoft Exchange Server、Postfix、Qmail等。

电子邮件地址格式

  • 格式:电子邮件地址遵循username@domain.example的格式,其中username是用户在邮件服务器上的标识符,domain.example是邮件服务器所属的域名。

安全与加密

  • TLS/SSL:为了保护邮件传输过程中的安全,SMTP、POP3和IMAP协议支持使用TLS/SSL(Transport Layer Security/Secure Sockets Layer)加密通信,确保数据在传输过程中不被窃听或篡改。
  • SPF、DKIM、DMARC:为了防止垃圾邮件和钓鱼邮件,电子邮件系统还采用了一系列安全策略和验证机制,如Sender Policy Framework (SPF)、DomainKeys Identified Mail (DKIM) 和 Domain-based Message Authentication, Reporting & Conformance (DMARC),来验证发件人的身份和邮件的完整性。

在这里插入图片描述

综上所述,电子邮件服务是一个涉及多个协议和技术的复杂系统,它不仅需要处理邮件的发送和接收,还要确保邮件的安全、完整和便捷访问。

发送电子邮件的过程

发送电子邮件的过程涉及多个步骤,主要通过SMTP(简单邮件传输协议)完成。以下是一个简化版的电子邮件发送流程:

  1. 撰写邮件:用户在邮件客户端(如Outlook、Gmail网页界面)中撰写邮件,包括填写收件人地址、主题、正文以及可能的附件。
  1. 客户端与SMTP服务器通信
  • 用户点击“发送”按钮后,邮件客户端将收集邮件的所有信息,包括发件人、收件人、主题、正文和附件。
  • 客户端通过SMTP协议连接到用户的邮件发送服务器(通常是用户邮箱提供商的SMTP服务器)。连接过程中,如果服务器要求,客户端还需进行身份验证,例如输入邮箱账号密码。
  1. 邮件传输过程
  • 客户端通过SMTP协议向邮件服务器发送邮件内容。在传输过程中,邮件被分解成多个部分,包括邮件头部(包含发件人、收件人、主题等元数据)和邮件体(正文和附件)。
  • 邮件服务器使用SMTP协议与互联网上的其他邮件服务器通信,根据收件人地址的域名部分(例如,@example.com),查询DNS(域名系统)以找到接收方邮件服务器的地址。
  • 一旦找到接收方邮件服务器的地址,发送方服务器会建立一个SMTP连接,并通过这个连接将邮件转发过去。如果接收方服务器暂时不可用,发送方服务器可能会尝试再次发送或暂时存储邮件,直到可以成功投递。
  1. 加密传输:在现代电子邮件系统中,SMTP连接通常会使用TLS(Transport Layer Security)加密,以保护邮件内容在传输过程中的安全,避免被第三方截取和阅读。
  1. 接收方邮件服务器处理
  • 接收方邮件服务器接收邮件后,会进行反垃圾邮件检查、病毒扫描等安全处理,并根据邮件地址将邮件存入相应用户的邮箱中。
  1. 用户接收邮件
  • 收件人通过POP3或IMAP协议连接到他们的邮件服务器,下载或在线查看邮件。如果使用的是IMAP协议,收件人可以在多个设备上同步邮件状态。

在这里插入图片描述

整个过程确保了电子邮件能够从发件人的客户端出发,经过一系列的服务器中转,最终安全、准确地送达收件人的邮箱。

SMTP

SMTP(Simple Mail Transfer Protocol,简单邮件传输协议)是一种互联网标准,用于在邮件服务器之间传输电子邮件。它是应用层协议,基于TCP/IP协议栈,确保了电子邮件在全球范围内的可靠投递。SMTP的主要任务是控制邮件的中转方式,从邮件的源头(发件人的邮件服务器)到目的地(收件人的邮件服务器)。以下是SMTP协议的关键特性和工作流程:

特性

  1. 基于文本的协议:SMTP使用简单的文本命令和响应进行通信,易于实现和调试。
  2. 可靠性:SMTP设计确保邮件能够可靠地传输,即使在短暂的网络中断期间也能存储邮件并在网络恢复时重新尝试发送。
  3. 推动式协议:SMTP是一种推动式协议,意味着它主动将邮件从发送方推向接收方,而非接收方主动拉取。
  4. 端口:SMTP默认使用TCP端口25进行通信,但也有使用端口587(提交邮件)和465(SMTPS,安全SMTP)的现代实践。
  5. 认证与安全:虽然早期SMTP没有内置安全机制,但现在普遍采用TLS(Transport Layer Security)加密通信,以保护邮件内容在传输过程中的安全。
  6. 邮件中继:SMTP支持邮件中继,允许邮件在多个服务器之间跳跃,直至达到目标服务器,这有助于跨越不同的网络和地域传输邮件。
  7. 命令与响应:SMTP定义了一系列命令(如HELO、MAIL FROM、RCPT TO、DATA、QUIT等)和对应的服务器响应代码,用于指导邮件的传输过程。

工作流程

  1. 建立连接:客户端(发件人邮件服务器)与服务器(收件人邮件服务器)通过TCP建立连接。
  2. 握手与认证:连接建立后,客户端发送HELO/EHLO命令以标识自身,随后可能需要进行TLS加密握手和SMTP AUTH认证。
  3. 邮件传输:认证成功后,客户端通过MAIL FROM命令指定发件人地址,使用RCPT TO命令指定一个或多个收件人地址,然后发送DATA命令开始邮件内容的传输,最后以.结束数据传输。
  4. 服务器响应:在整个过程中,服务器会以三位数字代码和相应的消息响应每个命令,如250表示操作成功,5xx表示永久错误,4xx表示临时错误。
  5. 断开连接:邮件发送完毕,客户端发送QUIT命令,双方断开TCP连接。

在这里插入图片描述

SMTP协议是电子邮件系统的基础,几乎所有的电子邮件服务都依赖它来实现邮件的传递。随着技术发展,虽然出现了像IMAP和POP3用于邮件接收的新协议,但SMTP依然是电子邮件发送的核心标准。

电子邮件格式

电子邮件的格式包含以下几个关键组成部分:

  1. 收件人(To): 收件人的电子邮件地址,表示这封邮件的主要接收者。可以有多个收件人,地址之间用逗号或分号隔开。
  1. 抄送(Cc): Carbon Copy的缩写,表示希望知晓邮件内容的人员,他们不是直接的行动负责人,但需要了解邮件内容。同样,可以有多个抄送人。
  1. 密送(Bcc): Blind Carbon Copy的缩写,用于隐藏收件人列表,即密送列表中的收件人互相看不到彼此的邮箱地址。这是为了保护隐私和减少不必要的邮件暴露。
  1. 主题(Subject): 邮件的主题行,简明扼要地概括邮件内容,帮助收件人快速了解邮件主旨。一个好的主题行应当清晰、具体,便于收件人判断邮件的重要性及是否需要立即处理。
  1. 正文(Body): 邮件的主体内容。正文通常遵循一定的礼仪规范,包括:
  1. 格式: 电子邮件可以是纯文本格式或HTML格式。纯文本格式只包含文字,不支持样式和图片直接嵌入;HTML格式则可以包含丰富的格式化元素、图片、超链接等。

在这里插入图片描述

MIME

MIME(Multipurpose Internet Mail Extensions,多功能互联网邮件扩展)是一种标准,它扩展了电子邮件的标准(最初只支持文本),使其能够支持更广泛的媒体类型,包括图像、声音、视频以及各种文档格式。MIME使得电子邮件能够变得更加丰富和多功能。以下是MIME的一些关键概念和工作方式:

关键组件

  1. 内容类型(Content-Type): MIME最核心的部分是定义了如何在邮件头中声明邮件内容的类型。例如,text/plain表示纯文本,image/jpeg表示JPEG图像,application/pdf表示PDF文档等。这样,接收方的邮件客户端就知道如何处理接收到的内容。
  1. 编码方案(Encoding): 对于非文本内容或某些特殊文本内容(如国际化字符),MIME定义了多种编码方案来确保邮件的兼容性和可传输性。常用的编码有Base64和Quoted-Printable,它们能将二进制数据转换为可打印的ASCII字符,以便通过邮件系统安全传输。
  1. 多部分邮件(Multipart Messages): MIME还支持在单个邮件中包含多种不同类型的内容,这就是所谓的多部分邮件。例如,一封邮件可能同时包含文本、图片和一个PDF附件。这种情况下,邮件头会包含一个multipart/mixedmultipart/alternative(用于提供邮件内容的不同版本,如纯文本和HTML)的内容类型,且邮件体内会详细描述每个部分的内容类型和编码。
  1. 内容传输编码(Content-Transfer-Encoding): 用于指示邮件内容在传输过程中所使用的编码方式,确保内容能够通过任何邮件传输系统,即使这些系统不支持8位或二进制数据传输。

工作方式

  • 当邮件客户端准备发送含有非文本元素(如图片、附件)的邮件时,它会按照MIME规范对这些内容进行编码,并在邮件头部添加适当的MIME头字段,说明邮件的内容类型、编码方式以及邮件的结构(如果是多部分邮件)。
  • 邮件服务器和客户端之间通过SMTP协议传输邮件时,MIME编码的信息作为邮件的一部分被透明传输。
  • 当邮件到达接收方的邮件服务器,并最终被接收方的邮件客户端下载或查看时,客户端会读取邮件头中的MIME信息,解码内容,并根据内容类型正确显示邮件的各个部分。例如,图片直接显示在邮件正文中,附件则提供下载或直接打开的功能。

在这里插入图片描述在这里插入图片描述

总之,MIME是电子邮件系统中不可或缺的一部分,它极大地扩展了电子邮件的实用性,使之能够适应互联网上日益多样化的内容类型需求。

POP/IMAP

POP(Post Office Protocol)和IMAP(Internet Message Access Protocol)是两种用于电子邮件接收的协议,它们定义了客户端(如邮件应用程序)如何从邮件服务器检索邮件。尽管它们的目的相似,但在工作方式和提供的功能上有显著差异:

POP(邮局协议)

  1. 主要目的:POP设计用于下载邮件并将其从邮件服务器上删除或保存副本。它假定用户会一次性下载所有邮件并处理,之后可能不需要再次访问服务器上的邮件。
  1. 版本:常用版本为POP3(第三版),较旧的版本还有POP2。POP3不支持在邮件服务器上管理邮件文件夹或邮件状态(如已读/未读)。
  1. 工作流程
  • 客户端连接到邮件服务器的POP3端口(通常是110,或使用SSL时为995)。
  • 客户端通过用户名和密码认证。
  • 客户端下载邮件到本地设备,并可选择在下载后从服务器删除邮件或保留副本。
  • 会话结束后,客户端断开连接。
  1. 适用场景:适合那些不经常需要从多个设备访问邮件,或偏好将邮件存储在本地的用户。

IMAP(因特网邮件访问协议)

  1. 主要目的:IMAP提供了一种更为灵活的邮件访问方式,允许用户在邮件服务器上管理和存储邮件,同时在多个设备上查看邮件时保持同步。这意味着用户可以在不下载邮件的情况下浏览邮件标题、创建和管理文件夹,并查看邮件状态。
  1. 版本:主流版本为IMAP4(第四版),支持更多的功能,如邮件分拣规则、搜索、标记等。
  1. 工作流程
  • 客户端连接到邮件服务器的IMAP端口(通常是143,或使用SSL/TLS时为993)。
  • 客户端进行身份验证。
  • 客户端可以检索邮件列表、邮件内容、文件夹结构等,所有操作几乎实时同步到服务器。
  • 用户可在服务器上直接管理邮件(移动、删除、标记等),操作结果会即时反映在所有已登录的客户端上。
  • 即使断开连接,邮件仍保留在服务器上,除非用户明确选择删除。
  1. 适用场景:适合需要跨设备访问邮件、频繁处理邮件且需要邮件状态保持一致的用户。

在这里插入图片描述

总结来说,POP更适合一次性下载邮件并存储在本地的简单场景,而IMAP则提供了更强大的邮件管理功能,适合需要在多设备间保持邮件同步的用户。

基于万维网的电子邮箱

基于万维网的电子邮件,通常指的是Webmail服务,是一种通过网页浏览器访问和管理电子邮件的方式,无需在个人电脑或设备上安装专门的电子邮件客户端软件。用户只需要有网络连接和浏览器,就能在全球任何地方访问自己的电子邮箱。以下是基于万维网的电子邮件服务的一些特点和优势:

特点

  1. 访问便捷性:用户只需记住邮箱地址和密码,通过任意设备上的浏览器登录Webmail网站即可查看和管理邮件,不受地点限制。
  1. 跨平台兼容:Webmail服务支持各种操作系统和浏览器,无论是Windows、macOS、Linux,还是Chrome、Firefox、Safari等浏览器,都能无缝使用。
  1. 即时更新:服务提供商负责维护和升级系统,用户无需手动更新软件,即可享受最新的功能和服务。
  1. 集成服务:许多Webmail服务(如Gmail、Outlook.com、Yahoo! Mail等)除了基本的邮件收发功能外,还集成了日历、联系人管理、任务列表、云存储等附加服务,形成一套完整的个人信息管理系统。
  1. 安全性:大多数Webmail服务提供安全连接(HTTPS),保障数据传输过程中的安全,同时也会采取措施防范垃圾邮件、病毒和网络攻击。
  1. 存储空间:服务商通常提供较大容量的邮箱空间,有的甚至是无限存储,用户不必担心邮箱满载问题。

优势

  • 灵活性:用户可以在任何有网络的地方访问邮件,尤其适合经常出差或使用多种设备的人群。
  • 成本效益:对于个人用户而言,许多Webmail服务是免费的,减少了购买和维护邮件客户端软件的成本。
  • 协作便利:对于团队和企业,Webmail服务常常与办公套件集成,便于共享日程、文档和任务,促进团队协作。

常见的基于万维网的电子邮件服务:

  • Gmail:由谷歌提供,以其高效的搜索功能、大存储空间和良好的垃圾邮件过滤著称。
  • Outlook.com:微软旗下的服务,与Office 365套件紧密集成,适合需要高级办公功能的用户。
  • Yahoo! Mail:提供免费邮箱服务,具有大容量存储和直观的用户界面。
  • Zoho Mail:为企业用户提供专业的邮件解决方案,包括自定义域名、协作工具等。

在这里插入图片描述

总的来说,基于万维网的电子邮件服务极大地方便了用户的邮件管理和沟通,成为现代生活中不可或缺的一部分。

最后,我们来看两道题:
在这里插入图片描述在这里插入图片描述

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

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

相关文章

gorm 一对多

type Author struct {AID int gorm:"primary_key;AUTO_INCREMENT"Name stringAge stringSex string//关联关系Article []Article gorm:"ForeignKey:Auid;AssociationForeignKey:AID" } type Article struct {ArId int gorm:"primary_key;AUTO_I…

TF-IDF在现代搜索引擎优化策略中的作用

TF-IDF(Term Frequency-Inverse Document Frequency)是一种用于文本挖掘和信息检索的统计方法,用来评估一个词语对于一个文档或一个语料库的重要程度。TF-IDF算法结合了词频(TF)和逆文档频率(IDF&#xff0…

【nvidia agx xavier】ubuntu20.04 换源

指明架构:[archarm64] !!! tsinghua源 sudo gedit /etc/apt/sources.list deb [archarm64] https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ focal main restricted universe multiverse deb [archarm64] https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/…

软考高级资格是否等于高级工程师或者是否拥有职称?

软考采用"考试取代评审"的方式,一旦通过考试,就不再需要进行相应的职称认定和评审工作。取得考试通过证书意味着具备了相应工作岗位的水平和职称资格。软考的初级、中级、高级分别对应着技术员/助理工程师、工程师和高级工程师这些职称。 大多…

osi七层参考模型和tcp/ip模型的区别与相似之处

osi七层参考模型: 2.tcp/ip四层参考模型: osi七层参考模型与tcp/ip四层参考模型的相似与区别: 相同点: 2者都是模型化层次化 下层对上层提供服务支持 每层协议彼此相互独立 不同点:OSI先有模型才有协议 TCP/IP先有…

Vue中data的属性可以和methods中方法同名吗,为什么?

在Vue中,data的属性不可以和methods中的方法同名,原因如下: 命名规范:从编程规范的角度来看,同名属性或方法可能会导致混淆和难以维护的代码。data通常用于存储组件的状态或数据,而methods则包含组件的行为…

MK米客方德 SD NAND 功耗对比

在这个数据驱动的时代,MK米客方德在工业存储领域不断突破,凭借卓越的产品和服务赢得了广泛的客户认可。我们自主研发的嵌入式存储芯片已实现规模化量产,而我们最新一代的工业级SD NAND—AST系列也已正式推出。 该产品采用LGA-8(6*8mm)封装&am…

在无线网中 2.4G、5G、WiFi6、WiFi7 都是什么意思?

有同学问我在无线网中 2.4G/5G/WiFi6/WiFi7 都是什么意思?其实这是两个概念, 2.4G/5G 是频段,WiFi6/WiFi7 是无线协议的版本,千万别把版本和频段搞混了。 WiFi 协议是一系列基于 IEEE 802.11 标准的无线局域网技术协议&#xff0…

PHP框架详解 - ThinkPHP框架

ThinkPHP 是一个开源的轻量级 PHP 开发框架,它遵循 Apache2 开源许可协议发布,适用于敏捷 WEB 应用开发和简化企业应用开发。以下是对 ThinkPHP 框架的一些基本介绍和特点: 轻量级:ThinkPHP 以其轻量级特性而闻名,适合…

为什么选择飞速(FS)25G SFP28光模块?

25G SFP28光模块是一种传输速率为25Gbps的光模块。与传统的10G光模块相比,它具有更高的端口密度,可以通过减少TOR交换机和线缆的数量来节省运营成本。同时,25G光模块为中小型数据中心提供更节能高效的选择,非常适合连接中小型数据…

使用Spring的StopWatch类优雅打印方法执行耗时

在做开发的时需要统计每个方法的执行消耗时间,或者记录一段代码执行时间,最简单的方法就是打印当前时间与执行完时间的差值,然后这样如果执行大量测试的话就很麻烦,并且不直观,然而使用使用Spring的StopWatch类就可以优雅打印方法…

.NET C# 使用GDAL读取FileGDB要素类

.NET C# 使用GDAL读取FileGDB要素类 目录 .NET C# 使用GDAL读取FileGDB要素类1 环境2 Nuget3 Code 1 环境 VisualStudio2022 .NET6 GDAL 3.7.5 2 Nuget 3 Code using OSGeo.OGR; using OSGeo.OSR;namespace TestGDAL {internal class Program{static void Main(string[] a…

el-table多选分页回显

el-table多选分页回显 1.多选项添加 :reserve-selection"true" <el-table-column type"selection" align"center" width"55" :reserve-selection"true" ></el-table-column>reserve-selection : 仅对 typesel…

浅谈配置元件之Java默认请求

浅谈配置元件之Java默认请求 1.简介 “Java默认请求”&#xff08;虽然直接名为"Java Request"更常见&#xff09;是一个高级配置元件&#xff0c;它允许用户通过Java代码自定义请求逻辑&#xff0c;为测试提供了极高的灵活性和扩展性。 2.Java请求组件概述 在JM…

Ubuntu/Linux系统安装JDK1.8(带jdk1.8资源和操作教程)

文章目录 前言一、JDK1.8下载二、上传三、安装四、配置环境变量五、查看总结 前言 &#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;Ubuntu/Linux jdk1.8安装包&#xff…

MySQL支持哪些特殊字符

MySQL支持多种特殊字符&#xff0c;这些字符在SQL语句中具有特定的含义&#xff0c;需要在使用时特别注意。以下是一些MySQL中的特殊字符及其相关信息&#xff1a; 引号&#xff1a; 单引号&#xff08;&#xff09;&#xff1a;用于定义字符串。如果字符串中包含单引号本身&…

[BFS广搜]数字变换

描述 给定一个包含5个数字&#xff08;0-9&#xff09;的字符串&#xff0c;例如 “02943”&#xff0c;请将“12345”变换到它。 你可以采取3种操作进行变换 1. 交换相邻的两个数字 2. 将一个数字加1。如果加1后大于9&#xff0c;则变为0 3. 将一个数字加倍。如果加倍后大…

【机器学习】【深度学习】MXnet神经网络图像风格迁移学习简介

使用部分 一、编程环境 编程环境使用Windows11上的Anaconda环境&#xff0c;Python版本为3.6. 关于Conda环境的建立和管理&#xff0c;可以参考我的博客&#xff1a;【Anaconda】【Windows编程技术】【Python】Anaconda的常用命令及实操 二、项目结构&#xff08;代码非原创…

whisper fastapi 完整识别一个音频文件实现

import whisper from fastapi import FastAPI, File, UploadFile from fastapi.responses import StreamingResponse import io import torch import numpy as np from pydantic import BaseModel import os import tempfile# 加载 Whisper 模型 model whisper.load_model(&qu…

Hive期末总结

hive的概念&#xff0c;谁开发的 Apache Hive 是一个Apache 软件基金会维护的开源项目 Facebook贡献 hive是一个基于hadoop的数据仓库工具&#xff08;对数据汇总查询和分析的工具&#xff09; hive执行原理 Hive通过给用户提供的一系列交互接口&#xff0c;接收到用户的指令…