电子邮件

应用层

⭐ 中优先级

在选择题中考查,主要关注 SMTP、POP3、MIME 这几个协议的特点,还需要了解下电子邮件系统中几个组成部分。

电子邮件系统

电子邮件系统由 用户代理邮件服务器 以及 电子邮件协议 这三个核心组成部分协同工作,确保邮件的发送、接收和存储。

用户代理

用户代理 (UA, User Agent)是用户与电子邮件系统交互的接口,通常是邮件客户端软件(如 qq 邮箱网页界面、Outlook 等)。

功能:

  • 提供用户友好的界面,用于撰写、发送、接收和阅读邮件。
  • 管理邮件文件夹(如收件箱、已发送、草稿)。
  • 与邮件服务器通信以发送或获取邮件。

邮件服务器

邮件服务器 (Mail Server)是电子邮件系统的核心,负责存储、转发和管理邮件。

功能:

  • 接收来自用户代理的邮件并存储。
  • 根据邮件的目标地址,通过 SMTP 协议将邮件转发到目标邮件服务器。
  • 提供邮件存储功能,供用户通过 POP3 /IMAP 协议访问。

SMTP

SMTP (Simple Mail Transfer Protocol)是用于邮件发送的标准协议,负责在邮件服务器之间或从用户代理到邮件服务器传输邮件。

功能:

  • 定义了邮件如何从发送方传递到接收方的邮件服务器。
  • 工作在 TCP/IP 协议之上,通常使用端口 25(或加密端口 587)。
  • 仅负责邮件的发送 ,不涉及邮件的接收或存储。

工作流程:

  • 用户代理通过 SMTP 将邮件发送到发送方的邮件服务器。
  • 发送方服务器通过 SMTP 与接收方服务器通信,将邮件传递到目标服务器。

POP3

POP3 是用于从邮件服务器检索邮件的协议,允许用户将邮件下载到本地设备。

功能:

  • 用户代理通过 POP3 连接到邮件服务器,下载邮件到本地。
  • 默认情况下,邮件下载后会从服务器删除(可配置保留)。
  • 工作在 TCP/IP 协议之上,通常使用端口 110(或加密端口 995)。

工作流程:

  • 用户代理通过 POP3 登录服务器。
  • 下载新邮件到本地设备。
  • 可选择删除服务器上的邮件副本。

注意

需要注意的是,SMTP 使用的是 “推送”(Push)方式进行通信。当用户代理发送邮件,或者邮件在邮件服务器之间传递时,SMTP 客户端会将邮件 主动推送 到 SMTP 服务器。

而 POP3 则采用 “拉取”(Pull)方式进行通信。当用户需要查看邮件时,用户代理会向邮件服务器发出请求,从服务器中 拉取 用户邮箱里的邮件。

电子邮件格式

一封电子邮件由 信封内容 两部分组成,其中邮件 内容 又可分为 首部主体
邮件的 首部格式 由 RFC 标准定义,而 主体部分 则由用户自由撰写。

用户在填写完邮件首部后,系统会自动提取 信封 所需的信息,无需用户手动填写 信封 内容。

邮件首部由若干 首部行 组成,每行格式为:关键字: 值。其中:

  • To:必填,指定一个或多个收件人的电子邮件地址,格式为 用户名@域名,如 abc@csgraduates.com。用户名在所属域名下必须唯一,从而保证该邮箱地址在整个互联网上唯一。
  • Subject:可选,表示邮件主题,用于概括邮件内容。
  • From:必填,表示发件人邮箱地址,通常由邮件系统自动填写。

首部和主体之间用一个空行分隔。以下是一个典型邮件内容示例:

Please find the meeting schedule attached.

MIME

MIME (Multipurpose Internet Mail Extensions,多用途互联网邮件扩展)是为了解决传统电子邮件格式的局限性而提出的一种扩展标准。

早期的电子邮件只能传输 纯文本 (ASCII 码),不支持发送图片、音频、视频或非英语字符(如中文)。这严重限制了电子邮件的用途。MIME 的出现,就是为了解决这些问题。

MIME 主要包含以下三点 核心功能

  1. 支持 非 ASCII 字符
  • 允许使用 UTF-8 等编码发送包含中文、法语等字符的邮件内容。

    1. 支持 多媒体内容
  • 可以发送图像(如 JPEG、PNG)、音频、视频等多种格式的附件或内嵌内容。

    1. 支持 多部分内容 (multipart)
  • 一封邮件可以同时包含文本和附件,甚至不同格式的内容(例如纯文本和 HTML 格式的正文)。

相关笔记

  • TCP
  • 传输层
  • UDP