┌─────────┐ SMTP ┌─────────────┐ SMTP ┌──────────────┐
│ 用户代理 │ ────────→ │ 邮件服务器 │ ───────→ │ 邮件服务器 │
│ (UA) │ (发送) │ (发送方) │ (传输) │ (接收方) │
└─────────┘ └─────────────┘ └──────┬───────┘
│
POP3/IMAP │
▼
┌─────────┐
│ 用户代理 │
│ (UA) │
└─────────┘
| 组件 | 说明 | 例子 |
|---|---|---|
| 用户代理(UA) | 邮件客户端 | Outlook, Thunderbird, 手机邮件 App |
| 邮件服务器 | 存储和转发邮件 | Exchange, Postfix, Sendmail |
| 邮件传输协议 | 发送邮件 | SMTP |
| 邮件接收协议 | 接收邮件 | POP3, IMAP |
客户端(发送方服务器) 服务器(接收方服务器)
│ 220 mail.example.com SMTP │
│ ←──────────────────────────── │
│ HELO sender.com │
│ ────────────────────────────→ │
│ 250 Hello sender.com │
│ MAIL FROM:<alice@sender.com> │
│ RCPT TO:<bob@receiver.com> │
│ DATA │
│ Subject: Hello ... │
│ . ← 以单独的 . 结束 │
│ 250 OK: Message queued │
│ QUIT │
| 命令 | 说明 |
|---|---|
| HELO/EHLO | 问候,标识客户端 |
| MAIL FROM | 指定发件人 |
| RCPT TO | 指定收件人(可多个) |
| DATA | 开始邮件内容 |
| QUIT | 结束会话 |
| RSET | 重置会话 |
| VRFY | 验证用户 |
| NOOP | 空操作 |
MIME-Version: 1.0
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="file.pdf"
| 主类型 | 子类型 | 说明 |
|---|---|---|
| text | plain, html | 文本 |
| image | jpeg, png, gif | 图片 |
| audio | mp3, wav | 音频 |
| video | mp4, avi | 视频 |
| application | pdf, zip, octet-stream | 应用数据 |
| multipart | mixed, alternative | 多部分组合 |
| 编码 | 说明 |
|---|---|
| 7bit | 7 位 ASCII |
| quoted-printable | 非 ASCII 字符用 =XX 表示 |
| base64 | 二进制数据编码为 ASCII |
| 8bit | 8 位字符 |
原始数据: Man
ASCII: 77 97 110
二进制: 01001101 01100001 01101110
6位分组: 010011 010110 000101 101110
base64: T W F u
结果: TWFu
客户端 ──TCP连接──→ 服务器(端口110)
├─ 认证阶段: USER + PASS
├─ 事务阶段: LIST, RETR, DELE
└─ 更新阶段: QUIT
| 命令 | 说明 |
|---|---|
| USER | 用户名 |
| PASS | 密码 |
| STAT | 邮箱状态(邮件数、大小) |
| LIST | 列出邮件 |
| RETR n | 获取第 n 封邮件 |
| DELE n | 删除第 n 封邮件 |
| NOOP | 空操作 |
| RSET | 撤销删除标记 |
| QUIT | 退出(执行删除) |
| 特性 | POP3 | IMAP |
|---|---|---|
| 邮件存储 | 下载到本地 | 保存在服务器 |
| 多设备同步 | 不支持 | 支持 |
| 服务器管理 | 不支持 | 支持(文件夹) |
| 离线访问 | 支持 | 需要缓存 |
| 带宽使用 | 低 | 较高 |
Alice的UA → Alice的邮件服务器 → (SMTP) → Bob的邮件服务器 → Bob的UA
│ │ │ │
│ SMTP提交 │ SMTP中继 │ POP3/IMAP │
│ (端口587) │ (端口25) │ (端口110/143)│
用户名@域名
alice@example.com
│ │
│ └─ 邮件服务器域名
└─ 用户名(邮箱标识)
| 技术 | 作用 |
|---|---|
| SPF | 验证发件服务器 IP 是否被授权 |
| DKIM | 邮件数字签名,验证未被篡改 |
| DMARC | SPF + DKIM 的策略框架 |
↑ 以上为站内 HTML 相对链接(纯网页可浏览);本页右上「在 Obsidian 中打开」跳回源笔记。