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

文章目录

    • 电子邮件的起源与发展
    • 电子邮件的组成
    • 电子邮件协议
      • 邮件发送和接收过程
      • 邮件发送协议
        • SMTP协议
          • 多用途因特网邮件扩展MIME
        • 电子邮件的信息格式
      • 邮件读取协议
        • 邮局协议POP
        • 因特网邮件访问协议IMAP
    • 基于万维网的电子邮件

电子邮件(E-mail)是因特网上最早流行的一种应用,并且仍然是当今因特网上最重要、最实用的应用之一。它通过电子方式发送和接收消息,极大地改变了人们的沟通方式。

电子邮件的起源与发展

电子邮件的历史可以追溯到20世纪60年代的阿帕网(ARPANET)。最初,电子邮件仅用于同一台计算机上的用户之间发送消息,后来逐渐发展为跨网络的通信工具。1971年,雷·汤姆林森(Ray Tomlinson)发明了现代电子邮件系统,并引入了@符号用于区分用户和服务器,奠定了电子邮件的基本格式。

随着互联网的普及,电子邮件成为全球范围内最常用的通信方式之一。如今,电子邮件不仅用于个人通信,还广泛应用于商业、教育、政府等多个领域。

传统的电话通信属于实时通信,存在以下两个缺点:

  • 电话通信的主叫和被叫双方必须同时在场;
  • 一些不是十分紧迫的电话也常常不必要地打断人们的工作或休息。

而电子邮件与邮政系统的寄信相似:

  • 发件人将邮件发送到自己使用的邮件服务器

  • 发件人的邮件服务器,将收到的邮件按其目的地址转发到收件人邮件服务器中的收件人邮箱

  • 收件人在方便的时候访问收件人邮件服务器中自己的邮箱,获取收到的电子邮件。

电子邮件使用方便、传递迅速而且费用低廉。它不仅可以传送文字信息,而且还可附上声音和图像。由于电子邮件的广泛使用,现在许多国家已经正式取消了电报业务。在我国,电信局的电报业务也因电子邮件的普及而濒临消失。

电子邮件的组成

电子邮件系统采用客户/服务器方式。

电子邮件系统的三个主要组成构件:

  • 用户代理(Mail User Agent, MUA):用户与电子邮件系统的接口,又称为电子邮件客户端软件

  • 邮件服务器(Mail Server):电子邮件系统的基础设施。因特网上所有的 ISP 都有邮件服务器,其功能是发送和接收邮件,同时还要负责维护用户的邮箱

  • 协议:电子邮件所需的协议,包括邮件发送协议(例如 SMTP )和邮件读取协议(例如 POP3IMAP

电子邮件协议

邮件发送和接收过程

在这里插入图片描述

电子邮件的发送和接收过程涉及多个协议和服务器的协作,以下是其基本工作流程:

  1. 发送邮件:用户通过邮件客户端撰写邮件并点击“发送”按钮。邮件客户端使用 SMTP(简单邮件传输协议)将邮件发送到用户的邮件服务器。

  2. 邮件服务器之间的转发:发送方邮件服务器使用 SMTP 协议将邮件转发到接收方邮件服务器。如果接收方服务器不可用,邮件将被暂时存储在发送方服务器的队列中,等待重试。

  3. 接收邮件:接收方邮件服务器接收邮件后,将其存储在用户的邮箱中。用户可以通过邮件客户端使用 POP3(邮局协议)或 IMAP(互联网消息访问协议)协议从服务器下载或访问邮件。

  4. 邮件存储与管理:邮件存储在服务器的邮箱中,用户可以通过邮件客户端进行管理,如删除、回复、转发等操作。

邮件发送协议

SMTP协议

简单邮件传送协议SMTP(Simple Mail Transfer Protocol)用于发送电子邮件。当使用电子邮件客户端(如Outlook、Gmail等)发送一封电子邮件时,该客户端会使用 SMTP 协议将邮件发送到指定的 SMTP 服务器。然后,SMTP 服务器会负责将邮件路由到目标邮件服务器。

SMTP 客户与服务器之间,通过命令与应答的交互方式,最终实现 SMTP 客户发送邮件给 SMTP 服务器。

![[简单邮件传送协议SMTP.png]]

  1. 客户端与服务器建立 TCP 连接。

  2. 客户端发送 HELOEHLO 命令,标识自己的身份。

  3. 客户端发送 MAIL FROM 命令,指定发件人地址。

  4. 客户端发送 RCPT TO 命令,指定收件人地址。

  5. 客户端发送 DATA 命令,开始传输邮件内容。

  6. 邮件传输完成后,客户端发送 . 表示结束,服务器返回响应。

  7. 客户端发送 QUIT 命令,向服务器请求断开连接。

多用途因特网邮件扩展MIME

SMTP协议只能传送ASCII码文本数据,不能传送可执行文件或其他的二进制对象。SMTP 不能满足传送多媒体邮件(例如带有图片、音频或视频数据)的需要。并且许多其他非英语国家的文字(例如中文、俄文、甚至带有重音符号的法文或德文)也无法用 SMTP 传送。

为解决 SMTP 传送非 ASCII 码文本的问题,提出了多用途因特网邮件扩展MIME(Multipurpose Internet Mail Extensions)

![[多用途因特网邮件扩展MIME.png]]

  • 增加了5个新的邮件首部字段,这些字段提共了有关邮件主体的信息。

  • 定义了许多邮件内容的格式,对多媒体电子邮件的表示方法进行了标准化。

  • 定义了传送编码,可对任何内容格式进行转换,而不会被邮件系统改变。

  • MIME 不仅仅用于 SMTP也用于后来的同样面向ASCII字符的HTTP

电子邮件的信息格式

电子邮件的信息格式并不是由 SMTP 定义的,而是在 [RFC 822] 中单独定义的。这个 RFC 文档已在 2008 年更新为[RFC 5322]。一个电子邮件有信封内容两部分。而内容又由首部主体两部分构成。

在这里插入图片描述

邮件读取协议

常用的邮件读取协议有两个:邮局协议POP3因特网邮件访问协议IMAP

POP3IMAP4采用基于TCP连接的客户/服务器方式POP3 使用熟知端口 110IMAP4 使用熟知端口 143

邮局协议POP

邮局协议 POP(Post Office Protocol),POP3 是其第三个版本,是因特网正式标准。用于从邮件服务器检索电子邮件。当使用电子邮件客户端从邮件服务器下载邮件时,该客户端会使用 POP3 协议。

POP3 协议允许将邮件从服务器下载到本地计算机,并从服务器上删除这些邮件。但用户只能以下载并删除方式下载并保留方式,从邮件服务器下载邮件到用户方计算机。不允许用户在邮件服务器上管理自己的邮件。(例如创建文件夹,对邮件进行分类管理等)

POP3 基于 TCP 协议,工作在端口110(明文)或端口 995(加密)。其工作过程为:

  1. 客户端与服务器建立 TCP 连接。

  2. 客户端发送用户名和密码进行认证。

  3. 客户端可以列出邮件列表、下载邮件或删除邮件。

  4. 完成操作后,客户端发送 QUIT 命令断开连接。

因特网邮件访问协议IMAP

因特网邮件访问协议 IMAP(Internet Message Access Protocol),IMAP4 是其第四个版本,目前还只是因特网建议标准。它是功能比 POP3 强大的邮件读取协议。用户在自己的计算机上就可以操控邮件服务器中的邮箱,就像在本地操控一样,而无需将邮件下载到本地。因此 IMAP 是一个联机协议。

IMAP 基于 TCP 协议,工作在端口143(明文)或端口993(加密)。其工作过程为:

  1. 客户端与服务器建立 TCP 连接。

  2. 客户端发送用户名和密码进行认证。

  3. 客户端可以列出邮箱、选择邮箱、检索邮件、标记邮件等。

  4. 完成操作后,客户端发送 LOGOUT 命令断开连接。

基于万维网的电子邮件

通过浏览器登录(提供用户名和口令)邮件服务器万维网网站就可以撰写、收发、阅读和管理电子邮件。这种工作模式与 IMAP 很类似,不同的是用户计算机无需安装专门的用户代理程序,只需要使用通用的万维网浏览器。

邮件服务器网站通常都提供非常强大和方便的邮件管理功能,用户可以在邮件服务器网站上管理和处理自己的邮件,而不需要将邮件下载到本地进行管理。

用户在发送和接收邮件时,与服务器之间都使用的是 HTTP 超文本传送协议,而不需要使用 SMTP 和 POP3协议。若用户使用的邮件服务器不同,则邮件服务器使用 SMTP 协议将邮件发送给另一个用户的邮件服务器。

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

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

相关文章

CSS笔记一

一、语法 选择器{属性&#xff1a;属性值&#xff1b;属性&#xff1a;属性值} 二、书写分类 行内样式&#xff1a;直接通过style属性写在标签上 <p style"font-size80px">123456</p> 页内样式&#xff1a;在html页面创建style标签 外链样式&…

【PyTorch][chapter-33][transformer-5] MHA MQA GQA, KV-Cache

主要翻译外网&#xff1a; 解剖Deep Seek 系列&#xff0c;详细见参考部分。 目录&#xff1a; Multi-Head Attention &#xff08;MHA) KV-Cache KV-Cache 公式 Multi-Query Attention&#xff08;MQA) Grouped-Query Attention(GQA) Multi-Head Latent Attention …

Web刷题之PolarDN(中等)

1.到底给不给flag呢 代码审计 一道典型的php变量覆盖漏洞 相关知识 什么是变量覆盖漏洞 自定义的参数值替换原有变量值的情况称为变量覆盖漏洞 经常导致变量覆盖漏洞场景有&#xff1a;$$使用不当&#xff0c;extract()函数使用不当&#xff0c;parse_str()函数使用不当&…

如何看到 git 上打 tag 的时间

在 Git 中可以通过以下方法查看标签&#xff08;tag&#xff09;的创建时间&#xff1a; 使用 git show 命令&#xff1a; 运行以下命令可以查看某个特定标签的详细信息&#xff0c;包括创建时间&#xff1a; git show 输出中会包含 Tagger 的信息和 Date 字段&#xff0c;显示…

Nginx 源码编译安装

创建虚拟机&#xff0c;内存 4G 处理器 2 核&#xff0c;NAT 网络。 准备 Nginx 源码包&#xff0c;1.24 版本&#xff0c;用于实验。 一、下载 Nginx 源码包 Nginx 官网&#xff1a;www.nginx.org download 下载相关的版本&#xff0c;如下图&#xff1a; wget 下载 Nginx…

DPVS-5: 后端服务监控原理与测试

后端监控原理 被动监测 DPVS自带了被动监控&#xff0c;通过监控后端服务对外部请求的响应情况&#xff0c;判断服务器是否可用。 DPVS的被动监测&#xff0c;并不能获取后端服务器的详细情况&#xff0c;仅仅通过丢包/拒绝情况来发觉后端服务是否可用。 TCP session state…

【计算机网络协议01】应用层协议HTTP

应用层协议HTTP 引言 应用层协议是程序员自己制定的&#xff0c;但是良好的协议是保证网络通信的基础&#xff0c;前代的计算工程师已经帮助我们制定了一些很好用的应用层协议&#xff0c;http(hybertext transfer protocol)(超文本传输协议)就是其中之一。 http协议是客户端…

uniapp 系统学习,从入门到实战(四)—— 页面与路由管理

​ 全篇大概 2700 字(含代码)&#xff0c;建议阅读时间 20min 在跨平台开发中&#xff0c;高效的路由管理直接影响用户体验和开发效率。本文将深入探讨uniapp的页面创建、路由跳转、参数传递和生命周期管理&#xff0c;助您构建流畅的多端应用。 &#x1f4da; 目录 页面创建…

BOOST电路设计

目录 1电路模型 2器件选型 2.1设计需求 2.2参数计算 2.2.1电感L计算 2.2.2电容计算 2.2.3电阻计算 3仿真测试 4参数测试 4.1负载调整率 4.2电容测试 4.3电感测试 5实际应用 1电路模型 Boost升压电路,可以工作在电流断续工作模式(DCM)和电流连续工作模式(CCM)。CCM工…

springboot实现文件上传到华为云的obs

一、前言 有时在项目中需要使用一些存储系统来存储文件&#xff0c;那么当项目要接入obs作为存储系统时&#xff0c;就会利用obs来进行文件的上传下载&#xff0c;具体实现如下。 二、如何通过obs实现文件的上传下载&#xff1f; 1.添加相关的obs的maven依赖。 <dependency…

miqiu的分布式锁(二):实战——用JMeter验证JVM锁能否解决MySQL超卖问题

miqiu的分布式锁二&#xff1a;实战——用JMeter验证JVM锁能否解决MySQL超卖问题 实验背景 在秒杀场景中&#xff0c;超卖问题是典型的并发编程挑战。本文通过JMeter压测工具&#xff0c;验证基于JVM的两种锁机制&#xff08;synchronized/ReentrantLock&#xff09;对MySQL库…

《论企业集成平台的理解与应用》审题技巧 - 系统架构设计师

企业集成平台的理解与应用——论文写作框架 一、考点概述 本论题“企业集成平台的理解与应用”主要考察的是计算机软件测试工程师对于企业集成平台&#xff08;EIP&#xff09;的深入理解以及在实际项目中的应用能力。论题涵盖了以下几个核心内容&#xff1a; 首先&#xff…

初阶数据结构(C语言实现)——2算法的时间复杂度和空间复杂度

目录 本节目标1. 算法效率1.1 如何衡量一个算法的好坏1.2 算法的复杂度 2.时间复杂度2.1 时间复杂度的概念2.1.1 入门习题2.1.2 进阶习题 2.2 常见时间复杂度 3. 空间复杂度3.1 常见空间复杂度 本节目标 算法效率时间复杂度空间复杂度常见时间复杂度以及复杂度oj练习 1. 算法…

排序算法(3):

这是我们的最后一篇排序算法了&#xff0c;也是我们的初阶数据结构的最后一篇了。 我们来看&#xff0c;我们之前已经讲完了插入排序&#xff0c;选择排序&#xff0c;交换排序&#xff0c;我们还剩下最后一个归并排序&#xff0c;我们今天就讲解归并排序&#xff0c;另外我们还…

AI智能体与大语言模型:重塑SaaS系统的未来航向

在数字化转型的浪潮中&#xff0c;软件即服务&#xff08;SaaS&#xff09;系统一直是企业提升效率、优化业务流程的重要工具。随着AI智能体和大语言模型&#xff08;LLMs&#xff09;的迅速发展&#xff0c;SaaS系统正迎来前所未有的变革契机。本文将从AI智能体和大语言模型对…

AOP进阶-03.切入点表达式-execution

一.切入点表达式-execution 访问修饰符(public/private等)&#xff0c;包名.类名.&#xff0c;throws 异常都可以省略&#xff0c;但是建议包名.类名.不要省略&#xff0c;否则的话匹配范围太大影响程序执行效率。 *主要用来匹配单个参数&#xff0c;通配任意返回值、包名、类…

神经网络发展简史:从感知机到通用智能的进化之路

引言 神经网络作为人工智能的核心技术&#xff0c;其发展历程堪称一场人类对生物大脑的致敬与超越。本文将用"模型进化"的视角&#xff0c;梳理神经网络发展的五大关键阶段&#xff0c;结合具象化比喻和经典案例&#xff0c;为读者呈现一幅清晰的AI算法发展图谱。 一…

NLP09-加强1-对比SVM

支持向量机&#xff08;SVM&#xff09; &#xff08;一&#xff09;导入 SVM 相关库 &#xff08;二&#xff09; 修改模型初始化 &#xff08;三&#xff09; 比较 朴素贝叶斯分类器 SVM分类器 支持向量机&#xff08;SVM&#xff09; 代码修改基于NLP09-朴素贝叶斯问句…

Spring 源码硬核解析系列专题(八):Spring Security 的认证与授权源码解析

在前几期中,我们从 Spring 核心到 Spring Boot,再到 Spring Cloud,逐步探索了 Spring 生态的底层原理。作为企业级应用的关键组件,Spring Security 提供了全面的安全解决方案,包括认证(Authentication)和授权(Authorization)。本篇将深入 Spring Security 的源码,剖析…

DeepSeek 开源了 DeepEP

DeepSeek又开源了一个超强技术&#xff1a;DeepEP通信库。实现了MOE之间的通信&#xff0c;性能更强了&#xff01; DeepEP作为全球首个专为MoE&#xff08;专家混合&#xff09;模型训练和推理量身定制的EP&#xff08;专家并行&#xff09;通信库&#xff0c;其诞生标志着通…