电子邮件的工作原理

已发表: 2016-12-17

电子邮件的概念比 Internet 或 ARPANET 本身的概念更早,因为它在 1960 年代首次出现。 电子邮件是人们用来通过网络交换数字信息的一种技术。 它是异步的,在某种意义上说,用户不需要一直在线就可以进行交流。 每个用户都有一个邮箱,托管在 SMTP 邮件服务器中,该邮箱又被定义为域名的 MX 记录。

电子邮件地址是与电子邮箱对应的唯一标识名称。 只要地址已知且有效,任何人都可以向任何人发送电子邮件。 通常,它以这种形式出现:

用户名@ 顶级域名

username 部分是标识邮箱所有者的唯一名称,而 domain.ltd 部分是提供电子邮件服务的域名。

一封电子邮件由三部分组成。 标头、标头字段和消息正文本身。 如果您想查看这些字段,您必须查看电子邮件的“原始来源”。 所有电子邮件提供商都提供此功能(通常以每封电子邮件中的链接或按钮的形式)。

  • 发件人:发件人的电子邮件地址。
  • 收件人:收件人的电子邮件地址。
  • 日期:发送电子邮件的日期。

还有一些提供额外信息的可选字段:

  • 主题:电子邮件的主题。
  • Received :此字段提供有关消息已从其中传递的每个中间服务器的额外信息,以及处理它时的时间戳。
  • Reply-To:指定此地址时,收件人的回复将投递到那里; 而不是用于发送电子邮件的原始地址。
  • Message-ID :提供标识消息的唯一字符串的字段。

还有一种特殊类型的“自定义标头”以 X 开头,例如X -Spam-hits 或X -SMTPAPI。 这些标头由外部软件自动创建,例如垃圾邮件检测器、电子邮件客户端和过滤器,以传递有关电子邮件的其他信息。 SMTP 邮件服务器忽略这些。

二进制文件附件

一开始,电子邮件仅支持拉丁文 7 位 ASCII 字符。 随着时间的推移,出现了对二进制文件传输的需求。 现代邮件传输代理通过将不可打印的二进制数据转换为称为 base64 的东西来实现此功能。 你可能会问什么是base64? 嗯,Base64 是一种使用可打印 ASCII 字符表示二进制数据的方法。 这是 base64 编码的二进制数据的示例:

WI2NC9sZC1saW51eC14ODYtNjQuc28uMgAEAAAAEAAAAAEAAABHTlUA

除了 base64 之外,还有 8BITMIME 和 BINARY 扩展,但并非所有 SMTP 服务器都完全支持这些扩展。

发送电子邮件时会发生什么

下图描述了发送和接收电子邮件的过程。 每个功能都有不同的协议。 SMTP(发送邮件传输协议)负责将电子邮件发送、存储和转发到其他 SMTP 服务器,而 POP3(邮局协议)和 IMAP(互联网消息访问协议)用于接收电子邮件。

v1-partiv-in
  1. 用户使用邮件客户端(如 Thunderbird 或 Gmail)撰写电子邮件,然后连接到提供正确凭据的 SMTP 服务器。 SMTP 服务器通常由用户的 ISP 提供。
  2. SMTP 服务器查找收件人的地址和域以确定电子邮件的目的地。
  3. 服务器查询该域的名称服务器,以获取 MX 记录(如果您记得,MX 记录是定义负责处理该域的邮件服务器的记录)。
  4. 然后服务器连接到收件人的域 SMTP 邮件服务器,并转发电子邮件。 在某些情况下,转发会通过多个 SMTP 服务器。 发生这种情况是因为公司实体通常拥有多个邮件服务器,具体取决于其组织或技术设计。
  5. 接收服务器存储电子邮件并通过 POP3/IMAP 协议提供给用户查看和下载。

查看和接收新电子邮件

用户可以通过使用他们的电子邮件客户端并连接到 POP3 或 IMAP 服务来接收新电子邮件。 POP3/IMAP 协议仅用于接收电子邮件,而 SMTP 用于发送。 ISP 通常提供两种服务,因为它们完全不同。 使用 POP3 协议,用户连接到服务器并且需要下载所有新消息才能阅读它们。 POP3 具有在下载邮件后删除邮件甚至将其标记为已读的可用选项。 然而,使用 IMAP4 协议,用户可以连接到服务器并仅下载他们希望打开的新消息,而不是全部下载。 此外,IMAP 支持文件夹,而 POP3 不支持。

使用 Pressidium 托管您的网站

60 天退款保证

查看我们的计划

垃圾邮件,电子邮件的污染

未经请求的批量电子邮件,或者更常见的垃圾邮件,从一开始就一直是互联网工程师头疼的问题。 它的首次使用出现在 70 年代,现在据说超过 70% 的 Internet 总电子邮件流量是垃圾邮件。 希望自 70 年代以来,垃圾邮件检测技术已经有了很大的改进。

安全电子邮件

正如我们在 Let's Encrypt 博客文章中已经提到的,任何在 Internet 上的计算机之间以明文形式传输的数据都可能被窃听。 安全电子邮件通过使用 SSL 用于加密两个用户(Alice 和 Bob)之间的电子邮件同时对其身份进行数字签名的相同公钥加密解决了这个问题。 那里有很多加密套装! 其中最受欢迎的是开源 GnuPG 项目。

结束时

这就是我们如何结束关于核心互联网技术的介绍系列的最后一部分。 我们简要介绍的所有技术都非常复杂,您可以理解,每一种技术都可以很容易地为自己提供一系列帖子。 我们将继续慢慢解决更复杂的主题,适合 WordPress 开发人员,以及许多惊喜!

圣诞节是庆祝、送礼和爱的时期,也是反思、放松和修补的时期!