电子邮件系统:组成、协议、MIME。

6.4 电子邮件

6.4.1 电子邮件系统的组成结构

  • 电子邮件:异步通信方式,通信时不需要双方同时在场。邮件发送到收件人的邮件服务器,放入收件人邮箱,收件人可随时读取。

三个主要构件

  • 用户代理(UA):用户与电子邮件系统的接口,如Outlook Express、Foxmail等。功能包括撰写、显示、处理和通信。
  • 邮件服务器:发送和接收邮件,向发件人报告传送结果。按照客户-服务器方式工作,必须同时充当客户和服务器。
  • 电子邮件协议
    • 发送协议:用于用户代理向邮件服务器发送邮件,或在邮件服务器之间发送邮件(如SMTP)。
    • 读取协议:用于用户代理从邮件服务器读取邮件(如POP3、IMAP)。

邮件收发过程

  1. 发信人用用户代理撰写邮件,通过SMTP发送给发送端邮件服务器。
  2. 发送端邮件服务器将邮件放入邮件缓存队列。
  3. 发送端SMTP客户进程发现缓存中有待发送邮件,向接收端SMTP服务器建立TCP连接。
  4. 发送邮件后关闭TCP连接。
  5. 接收端SMTP服务器将邮件放入收信人邮箱。
  6. 收信人调用用户代理,使用POP3(或IMAP)将邮件从邮箱取回。

例题(2012年40题)
图中①、②、③阶段分别使用的应用层协议可以是(D. SMTP, SMTP, POP3)


6.4.2 电子邮件格式与MIME

1. 电子邮件格式

  • 分为信封内容两部分。

  • 邮件内容首部包含若干关键字,如:

    • To:收件人地址
    • Subject:邮件主题
    • Cc:抄送
    • Bcc:暗送(盲复写副本)
    • From:发件人地址
    • Date:发信日期
    • Reply-To:回信地址
  • 电子邮件地址格式用户名@邮件服务器的域名(如 xyz@abc.com)。

2. MIME(通用互联网邮件扩充)

  • 目的:支持非ASCII文本(如中文)和二进制数据(如可执行文件、图像、音频、视频)的传输,而不改动SMTP。
  • MIME内容
    • 5个新的邮件首部字段
      • MIME-Version:版本号(当前1.0)
      • Content-Description:说明邮件主体类型(图像、音频等)
      • Content-Id:唯一标识符
      • Content-Transfer-Encoding:编码方式
      • Content-Type:数据类型和子类型
    • 定义了多种邮件内容格式。
    • 定义了传送编码,对任何内容格式进行转换,避免被邮件系统改变。

6.4.3 SMTP协议与POP3协议

1. SMTP协议

  • 简单邮件传送协议,规定两个SMTP进程间如何交换信息。
  • 客户-服务器方式:发送方为SMTP客户,接收方为SMTP服务器。
  • 传输层协议:TCP,端口号25。
  • 三个阶段:连接建立、邮件传送、连接释放。

连接建立

  • 发送方邮件服务器扫描邮件缓存,发现有邮件则向接收方邮件服务器发起TCP连接(端口25)。
  • 接收方回复 220 Service ready,发送方发送 HELO 命令,接收方回复 250 OK
  • 若接收方不可用,回复 421 Service not available
  • SMTP直接在两个邮件服务器之间建立TCP连接,不经过中间服务器。

邮件传送

  • MAIL FROM:<发件人地址>:开始邮件传送,接收方回复 250 OK 或错误代码。
  • RCPT TO:<收件人地址>:指明收件人,每发一个RCPT命令都会得到响应,用于验证地址是否存在,避免浪费资源。
  • DATA:开始传送邮件内容,接收方回复 354 Start mail input; end with <CRLF>.<CRLF>
  • 发送邮件内容,以 <CRLF>.<CRLF> 结束,接收方回复 250 OK 或错误代码。

连接释放

  • 发送方发送 QUIT 命令,接收方回复 221 Service closing,释放TCP连接。

SMTP的缺点

  • 发送邮件不需要鉴别(FROM命令地址可任意填写)。
  • 最初只支持7位ASCII码,后来通过MIME扩展,但传输非ASCII码效率不高。
  • 邮件是明文,不利于保密。

例题(2013年40题)
下列关于SMTP协议的叙述中,正确的是(A. 仅I、II和III)

  • I. 只支持传输7比特ASCII码内容(原本如此,但MIME扩展后也能传其他)
  • II. 支持在邮件服务器之间发送邮件
  • III. 支持从用户代理向邮件服务器发送邮件
  • IV. 不支持从邮件服务器向用户代理发送邮件(那是POP3/IMAP的工作)

2. POP3协议

  • 邮局协议,用于用户代理从邮件服务器读取邮件。
  • 传输层协议:TCP,端口号110。
  • 工作方式:“拉”模式(用户主动请求,服务器发送邮件)。
  • 两种工作模式
    • 下载并保留:邮件保留在服务器上,可再次读取。
    • 下载并删除:邮件被读取后从服务器删除。

例题(2015年33题)
通过POP3协议接收邮件时,使用的传输层服务类型是(D. 有连接可靠的数据传输服务)

3. IMAP协议

  • 网际报文存取协议,联机协议,用户可在服务器上管理邮件(创建文件夹、移动邮件、查询等)。
  • 优点:可在不同地点不同计算机上随时上网阅读和处理服务器上的邮件,支持只读取邮件的一部分。
  • 缺点:邮件一直存放在服务器上,需联网才能查阅。

4. 基于Web的电子邮件

  • 用户浏览器与邮件服务器之间使用HTTP,服务器之间仍使用SMTP。

习题

  1. SMTP协议默认使用的传输层协议及端口是(B. TCP, 25)

  2. MIME协议的主要作用是(B. 支持非ASCII文本和多媒体附件)

  3. 电子邮件系统中,用户代理通常不具备的功能是(D. 解析域名)

  4. 电子邮件中的附件是通过(C. MIME)进行编码传输的。

  5. 关于IMAP协议的说法,错误的是(C. IMAP下载邮件后会从服务器删除邮件)
    (IMAP默认保留邮件在服务器上)

  6. 关于电子邮件系统的叙述错误的是(B. alice@qq.com发送给bob@163.com的邮件将从alice的终端直接送到163.com的邮件服务器上)
    (邮件先经过alice的邮件服务器,再由服务器之间传递)


笔记结束