Blog/content/How-email-works-2.md

115 lines
7.3 KiB
Markdown
Raw Normal View History

2024-04-21 20:17:06 +08:00
+++
title = "电子邮件是如何工作的:POP3/IMAP/SMTP"
2024-04-25 11:22:30 +08:00
date = 2024-02-21
2024-04-21 20:17:06 +08:00
[taxonomies]
2024-06-06 16:43:02 +08:00
tags = ["乱七八糟"]
2024-04-21 20:17:06 +08:00
+++
前言 POP3、IMAP 和 SMTP 是用于电子邮件传输的常见协议和服务,这些协议共同构成了电子邮件系统的基础,允许用户接收、发送和管理电子邮件。
<!-- more -->
1. **POP3邮局协议版本3**POP3 是一种用于接收电子邮件的协议。当你使用 POP3 时电子邮件会从服务器下载到你的设备上并且通常会从服务器上删除。这意味着邮件只存在于你的设备上而不再保留在服务器上。POP3 通常用于单一设备或者设备上少量的邮件存储需求。
2. **IMAP互联网邮件访问协议**IMAP 也是一种用于接收电子邮件的协议,但它与 POP3 不同的是IMAP 允许邮件保留在服务器上并且同步到多个设备上。这意味着无论你使用哪个设备访问邮件都能看到同样的邮件状态包括已读、未读、已删除等。IMAP 适用于需要在多个设备之间同步邮件的情况,例如在手机、平板电脑和台式电脑之间。
3. **SMTP简单邮件传输协议**SMTP 是用于发送电子邮件的协议。当你发送一封电子邮件时,你的邮件客户端会使用 SMTP 协议将邮件发送到电子邮件服务器。SMTP 负责将邮件从发送者的电子邮件客户端传送到接收者的邮件服务器。SMTP 是一个推送协议,它将邮件推送给服务器,而不是拉取邮件。
这是每个协议的简要技术原理:
## **POP3邮局协议版本3**
- 客户端连接到邮件服务器上的 POP3 端口(通常是 110 端口)。
- 客户端发送身份验证信息(通常是用户名和密码)以登录到邮箱。
- 一旦登录成功,客户端可以请求收件箱中的邮件列表。
- 客户端可以选择下载邮件到本地设备。
- 下载的邮件通常从服务器上删除,但可以根据设置保留一份副本。
- 客户端可以选择在下载后删除邮件,或者在稍后删除它们。
## **IMAP互联网邮件访问协议**
- 客户端连接到邮件服务器上的 IMAP 端口(通常是 143 端口)。
- 客户端发送身份验证信息(通常是用户名和密码)以登录到邮箱。
- 一旦登录成功,客户端可以请求收件箱中的邮件列表,以及邮件的状态信息(如已读、未读、已删除等)。
- 客户端可以选择下载完整的邮件或邮件的部分内容到本地设备,同时保留邮件在服务器上的副本。
- 客户端对邮件的操作(如标记为已读、移动到文件夹等)将反映在服务器上,从而在其他设备上同步。
## **SMTP简单邮件传输协议**
- 客户端连接到邮件服务器上的 SMTP 端口(通常是 25 端口)。
- 客户端发送邮件内容和邮件头信息(如发件人、收件人、主题等)给服务器。
- 服务器接受邮件,并将其转发到接收者的邮件服务器。
- 接收者的邮件服务器接收邮件,并将其存储在相应的收件人邮箱中。
- SMTP 是一个简单的推送协议,它负责将邮件从发送方传送到接收方,但不涉及接收方对邮件的确认或响应。
## **它们的区别和共同点:**
**区别:**
**功能:**
- POP3 主要用于从邮件服务器上下载邮件到本地设备,通常会将邮件从服务器上删除。
- IMAP 允许用户在多个设备之间同步邮件状态,并且邮件保留在服务器上。
- SMTP 用于发送电子邮件。
**邮件管理:**
- POP3 在客户端下载邮件后通常会将邮件从服务器上删除,因此邮件只存在于本地设备上。
- IMAP 允许邮件在多个设备之间同步,因为邮件保留在服务器上。
- SMTP 不管理邮件存储,它只是负责将邮件从发送方传送到接收方。
**端口号:**
- POP3 默认端口号是 110。
- IMAP 默认端口号是 143。
- SMTP 默认端口号是 25。
**操作方式:**
- POP3 是拉取协议,客户端需要主动连接到服务器并拉取邮件。
- IMAP 是双向同步协议,客户端与服务器之间进行交互,可以同步邮件状态。
- SMTP 是推送协议,用于将邮件从发送方传送到接收方。
**共同点:**
- **用途:**:它们都是用于电子邮件传输的标准协议。
- **与邮件服务器的通信:**:它们都涉及客户端与邮件服务器之间的通信。
- **身份验证:**:它们都需要用户身份验证来访问邮箱。
## **一次完整的邮件通信过程**
**发送方(发件人):**
- **撰写邮件:** 发件人使用邮件客户端如Outlook、Gmail等撰写邮件并填写收件人的电子邮件地址、主题和邮件内容。
- **SPF 检查:** 发送邮件服务器可能会执行 SPFSender Policy Framework检查。它查询发件人域名的 DNS 记录,以确认发送邮件的服务器是否被授权发送邮件。
- **DKIM 签名:** 发送邮件服务器对邮件进行 DKIMDomainKeys Identified Mail签名。它使用发件人域名的私钥对邮件进行加密签名以确保邮件内容在传输过程中不被篡改。
- **SMTP 发送邮件:** 发送邮件服务器使用 SMTP简单邮件传输协议将邮件发送到接收邮件服务器。SMTP 服务器与接收邮件服务器之间建立连接,并通过指定的端口(通常是 25 端口)传输邮件。
**接收方(收件人):**
- **SMTP 接收邮件:** 接收邮件服务器接收到发送方发送的邮件。SMTP 协议负责将邮件从发送方传输到接收方。
- **SPF 验证:** 接收邮件服务器执行 SPF 验证,检查发送方服务器的 IP 地址是否在发件人域名的 SPF 记录中被授权发送邮件。
- **DKIM 验证:** 接收邮件服务器对收到的邮件执行 DKIM 验证。它使用发件人域名的公钥来验证邮件的 DKIM 签名,以确保邮件内容的完整性和真实性。
- **DMARC 检查:** 如果接收邮件服务器支持 DMARCDomain-based Message Authentication, Reporting, and Conformance它会执行 DMARC 检查。DMARC 结合了 SPF 和 DKIM允许域名所有者指定如何处理未通过验证的邮件。
- **投递邮件到邮箱:** 如果邮件通过了所有的验证步骤,并且没有被识别为垃圾邮件,接收邮件服务器将把邮件投递到收件人的邮箱中。
**邮件获取(收件人):**
- **POP3 获取邮件(可选):** 收件人可以使用 POP3邮局协议版本3从邮件服务器上下载邮件到本地设备。POP3 客户端通过指定的端口(通常是 110 端口)连接到邮件服务器,并下载邮件到本地设备上。根据设置,邮件可能会从服务器上删除。
- **IMAP 获取邮件(可选):** 收件人可以使用 IMAP互联网邮件访问协议从邮件服务器上获取邮件。IMAP 允许邮件保留在服务器上并且在多个设备之间同步邮件状态。IMAP 客户端通过指定的端口(通常是 143 端口)连接到邮件服务器,并获取邮件列表和邮件内容。
这是一个完整的双向邮件通信过程,包括了 SPF、DKIM、DMARC以及 POP3、IMAP、SMTP 协议的作用。这些技术和协议共同构成了电子邮件系统的基础架构,保障了邮件的传输安全性和可靠性。