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

news2024/12/23 13:02:10

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

  • 电子邮件
  • 发送电子邮件的过程
  • 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.coloradmin.cn/o/1857532.html

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

相关文章

营销复盘秘籍,6步法让你的活动效果翻倍

在营销的世界中,每一次活动都是一次探险,而复盘就是探险后的宝藏图,指引我们发现问题、提炼经验、优化策略。 想要学习如何复盘,只要了解以下复盘六大步骤,即可不断总结,逐渐走向卓越。 第一步&#xff1…

lvgl v8.3 windows仿真

1,下载安装codeblocks20.03 https://zenlayer.dl.sourceforge.net/project/codeblocks/Binaries/20.03/Windows/codeblocks-20.03mingw-setup.exe?viasf1 2,下载代码 git clone --recurse-submodules https://github.com/lvgl/lv_port_win_codeblock…

fairseq (Facebook AI Research) 包

0. Abstract 最近在看一个用 RNNs 网络做 Translation 任务的程序, 关于数据处理部分, 主要用到工具包 sentencepiece 和 fairseq, 前者主要是对文本进行分词处理, 后者则是对已分词的文本进行二进制化和快速加载. 包越方便使用, 就说明包装得越狠, 也就越令人一头雾水, 本文简…

虚拟机拖拽文档造成缓存过大

查看文件夹大小:du -h --max-depth1 缓存位置:~/.cache/vmware/drag_and_drop 删除:rm -fr ~/.cache/vmware/drag_and_drop 释放了3GB

Javascript中的this关键字指向

this关键字介绍 不同情况下的this 1.对象调用方法中的this 2.在全局使用this(单独使用) 3.函数中的this 4.函数严格模式下 5.事件中的this 6.构造函数中的this 7.箭头函数没有this call()、apply()、bind() 的用法 this关键字介绍 面向对象语言中 this 表示当前对象…

JavaScript中的内置对象

// 用法2:参数:指定的时间的字符串 创建一个指定的时间 // new Date(‘2018-12-12 12:00:00’) var date1 new Date(‘2018-12-12 12:00:00’); console.log(date1); // 用法3: 参数可以是年月日时分秒 月份从0开始 // var date2 new …

基于Java实验室课程管理系统设计和实现(源码+LW+调试文档+讲解等)

💗博主介绍:✌全网粉丝10W,CSDN作者、博客专家、全栈领域优质创作者,博客之星、平台优质作者、专注于Java、小程序技术领域和毕业项目实战✌💗 🌟文末获取源码数据库🌟 感兴趣的可以先收藏起来,…

Linux 阻塞和非阻塞 IO 实验学习

Linux 阻塞和非阻塞 IO 实验学习 IO 指的是 Input/Output,也就是输入/输出,是应用程序对驱动设备的输入/输出操作。当应用程序对设备驱动进行操作的时候,如果不能获取到设备资源,那么阻塞式 IO 就会将应用程序对应的线程挂起&…

【初阶数据结构】二叉树(附题)

目录 1.树概念及结构 1.1树的概念 1.2 树的相关概念(树结构的相关概念命名参考自然树和人的血缘关系) 1.3 树的表示 1.4 树在实际中的运用(表示文件系统的目录树结构,初次之外网盘中使用到) 2.二叉树概念及结构 …

Google浏览器快捷方式固定到任务栏启动被其他网页劫持

场景复现 1、Google浏览器设置启动时继续浏览上次打开的网页 2、先浏览CSDN网站,然后关闭Google浏览器 3、再次打开Google浏览器时,除了显示我们上次浏览的CSDN网页外,还默认打开了百度网页 解决办法 1、在Google浏览器中新建标签页&am…

Redis缓存雪崩(主从复制、哨兵模式(脑裂)、分片集群)

缓存雪崩: 在同一时段大量的缓存key同时失效或者Redis服务宕机,导致大量请求到达数据库,带来巨大压力。 方法一: 给不同key的TTL添加随机值,以此避免同一时间大量key失效。(用于解决同一时间大量key过期&…

linux笔记10--编辑器之神VIM

文章目录 1. 简单介绍① 为什么叫vim② linux常见的编辑器③ 注意事项④ 其它 2. 操作模式的划分① 两种 -- 国际上普通模式(命令操作模式)插入模式 ② 三种 -- 国内普通模式如何进入与退出界面 插入模式如何进入与退出界面 命令模式如何进入与退出界面常见的命令模式 ③ 区别④…

RFID技术在人工晶体清洗台上的应用案例分析

RFID技术在人工晶体清洗台上的应用案例分析 应用背景 在医疗领域中人工晶体清洗台发挥着极为重要的作用,随着市场需求的持续增长、技术的不断创新、定制化趋势的加强以及环保要求的提高,人工晶体清洗台不免暴露出一下应用痛点需要解决。 痛点&#xff…

SAP ABAP 常用的便利小手段:大写+自动对齐

目录 一,字体变大写 二,自动对齐行 一,字体变大写 找到上面的ユーティリティ⇒設定、 在【ユーザ固有の設定】里选择,【打文字】,同时勾除【名称を変更しない】 二,自动对齐行 在页面右下角找到黄色的【…

Java如何快速实现发送模版消息?

Java如何快速实现发送模版消息? 这次分析模版消息: 公众号(小程序同理)登录微信公众平台,创建模版,拿到模版id, 拿到appid,appSecret,根据开发文档找到对应功能的api进行开发即可,记…

EcmaScript6全新语法特性-----EcmaScript6(1)

age : 20,language : "Eng"}// 对象也可以用结构表达式来获取对应的值const { name,age,language} person;// 这样可以将我们获取的值name变成abc这个变量// const { name:abc,age,language} person;// 字符串拓展let str "Hello,vue";// 判断是否以xxx…

ES6 逐点突破系列 -- 函数的扩展

} f() // 1 var x 1; function foo(x, y function() { x 2; }) { var x 3; y(); console.log(x); } foo() // 3 x // 1 上面代码中,函数foo的参数形成一个单独作用域。这个作用域里面,首先声明了变量x,然后声明了变量y&#xf…

Axios发送ajax请求

}, // 请求体参数 data: { username: ‘admin’, password: ‘admin’ } }).then(response>{ // 响应状态码 console.log(response.status); // 响应状态字符串 console.log(response.statusText); // 响应头信息 console.log(response.headers); // 响应体 c…

docker 部署的 wordpress 接入阿里云短信服务 详细实操介绍

一、阿里云短信服务配置: 1、登录 阿里云短信服务 完成指引短信相关配置 2、创建RAM用户 并完成授权 出于安全及规范考虑 需通过RAM 用户来完成OponApl 接口调用,创建成功需完成短信接口(AliyunDysmsFullAccess、AliyunDysmsReadOnlyAccess…

量检具管理有一套

量检具是用于测量和检验产品尺寸、形状和质量的工具。有一位年轻的工程师小张,他负责管理工厂的量检具,确保它们能够准确地测量产品尺寸和质量。有一天,小张发现量检具出现了一些问题。他注意到一些量具的读数不准确,导致生产出来…