跳到主要内容

电子邮件与 SMTP

电子邮件系统由哪些部分组成?​

  • 用户代理: 用户读写邮件的客户端程序;
  • 邮件服务器: 保存用户的收件箱与待发送邮件, 是系统的核心;
  • SMTP: 邮件服务器之间以及用户代理到邮件服务器之间传递邮件的协议;

电子邮件系统的组成

SMTP 如何传递邮件?​

  • 基础: 基于 TCP, 由 RFC 5321 定义;
  • 作用范围: 发送方用户代理 → 发送方邮件服务器 → 接收方邮件服务器;
  • 直接连接: 不使用中间邮件服务器, 两个邮件服务器直连;
  • 重试: 接收方邮件服务器不可用时, 邮件暂存在发送方服务器并周期性重试;

SMTP 与 HTTP 有什么区别?​

维度HTTPSMTP
拉取方向pull, 用户从服务器拉取push, 用户向服务器推送
数据类型不受限制仅 7 bit ASCII
封装方式每个对象封装进一个响应报文所有对象封装进一个报文

邮件报文格式是什么?​

  • 报文首部: 若干首部行, 如 From、To、Subject;
  • 空行: 分隔首部与正文;
  • 报文体: ASCII 表示的邮件内容;
From: test@test.test
To: tt@tt.tt
Subject: test

邮件访问协议解决什么问题?​

  • 问题: SMTP 只负责推送, 用户代理无法用 SMTP 从服务器读取邮件;
  • 方案: 用邮件访问协议从邮件服务器拉取邮件;
  • 常见协议: POP3 与 IMAP;
  • 基于 HTTP 的邮箱: 只有邮件服务器之间使用 SMTP, 用户代理到服务器改用 HTTP;

邮件访问协议