作者 | 李佳斌,单位:中国移动智慧家庭运营中心

​Labs 导读

随着移动办公越来越普及,我国的各个产业逐步进入数字化转型阶段。电子邮件逐渐成为移动办公体系中发布重要信息,落实各类纪要,记录重要环节的最主要的手段。那电子邮件是如何进行交互传输的?什么是电子邮件协议?作为电子邮件协议中最常用的SMTP和IMAP两种协议,它们有什么区别?本文将会对这些问题做一个深入浅出的介绍。

数字化转型时代

移动办公体系越来越普及

交流成本越来越低~

在信息流通和分享过程中

大量企业都选择了

......

作为重要信息交互的载体

那电子邮件是怎么交互传输的?

不同的电子邮件协议又有什么区别?

本期Labs带大家认识下

电子邮件协议的那些事儿

Part 01 什么是电子邮件协议 

在介绍电子邮件协议前,先简单介绍一下什么是通信协议。通信协议简单来说就是电子设备交互是所使用的一套标准化的规则。各方按照这个规则进行数据封装和解析。最常见的通信协议包括TCP/IP、HTTP超文本传输协议、UDP用户数据报协议、FTP文本传输协议等。电子邮件协议,顾名思义就是电子邮件交互过程中使用到的标准规则。

- 分类

电子邮件通信过程中使用到协议,目前主要分为以下三类:

  • SMTP:简单邮件传输协议。
  • IMAP:互联网消息访问协议。
  • POP:邮局协议。

下图展示了电子邮件交互的一个基本过程。

Part 02 什么是SMTP 

- 介绍

SMTP(SimpleMailTransferProtocol)是一种简单邮件传输协议,是电子邮件协议中的行业标准协议。主要用于从源地址到目的地址传输邮件的规范,控制邮件的中转方式。在起草电子邮件并发起发送命令或者中转邮件的时候,就会使用此协议。SMTP电子邮件服务器分为两种:中继器和接收器。SMTP中继器处理来自其他服务器的邮件,然后将它按照正确的方向传递给其他SMTP服务器。接收器接收从中继服务器中发送过来的邮件,然后递送给收件人邮箱所在的邮件服务器。SMTP参与的阶段图如下。

- 通信三阶段

SMTP协议通信的交流模型可以简单概括,当用户需要发送邮件时邮件发送者与邮件接受者建立一个通信通道,通道建立后发送者通过各种命令进行邮件数据的发送,邮件发送完成后,终止通信通道。接下来具体讲讲每个步骤。

SMTP握手

SMTP客户端和服务器需要先建立连接,客户端通过25端口号申请与服务器建立TCP连接,服务器应答220并返回服务器域名;客户端收到应答码后发送HELLO命令和客户端标识信息,启动SMTP会话通道;服务端回应250应答码,会话通道正式建立。

电子邮件传输

客户端发送MAIL命令报告发送人的邮箱和域名,如果接受者接收这个邮件,就回复应答码250,接着客户端发送RCPT命令来指定收件人的邮箱和域名,如果被接收同样回复应答码250,如果不接受则拒绝(不会终止整个通话)。接收者邮箱确定后,客户端用DATA命令指示要发送数据,服务器响应354应答码,客户端开始传输报文并用一个” . “结束发送。如果数据被接收,会收到250应答码。

关闭通道

客户端发送QUIT命令关闭通道,服务端响应221应答码关闭成功。

- 特点

  • SMTP支持“邮件中继”,为邮件转发提供条件。
  • SMTP支持多种通信方法。
  • SMTP的错误处理能力很特殊,通过必要的措施成功响应错误的请求。
  • SMTP可以配置为邮件网关。

Part 03  什么是IMAP 

- 介绍

IMAP(InternetMessageAccessProtocol)是一个应用层的协议,是一种临时邮件访问协议,也被称为交互式邮件访问协议和Internet邮件访问协议。IMAP不会用于发送邮件,主要用于管理邮件以及从服务器上检索电子邮件,获取邮件的信息,下载邮件等,它是检索邮件中最常用的协议。另外一个常用的检索邮件的协议是POP3。相比于POP3,IMAP可以通过客户端直接对服务器邮件进行操作,无需把邮件全部下载到本地再去管理。IMAP通过143端口进行拉取,如下图所示。

- 通信流程

  • 收件人的电子邮件客户端与电子邮件服务器进行连接;
  • 收件人查看服务器上的邮件标题;
  • 当SMTP传输响应成功时,收件人的电子邮件客户端会通过IMAP获取消息并保存到接收方的收件箱中;
  • 开始阅读邮件是,IMAP就会开始下载它。

- 特点

  • IMAP保证了用户可以再多个设备上接收邮件。
  • IMAP采用延迟下载的方式,如果没有打开邮件,IMAP就不会进行下载。这种机制也确保了下载多媒体文件会比较容易。
  • IMAP提供了标记用来跟踪正在查看的邮件信息。
  • IMAP也存在一个缺点,当网络不好时,用户可能无法正确阅读邮件。

Part 04  SMTP与IMAP的区别与互补 

现在我们可以总结下SMTP与IMAP的主要区别 。

  • SMTP代表简单邮件传输协议,而IMAP代表Internet访问消息协议。
  • SMTP仅用于发送消息,而IMAP不能用于发送消息,可用于管理和检索消息。
  • SMTP可用于在客户端和服务器之间以及在两台服务器之间传输消息。但IMAP只支持将消息从服务器传输到客户端。
  • SMTP允许您在客户端存储上组织电子邮件,而IMAP用户可以灵活地在服务器上组织和管理邮件。
  • SMTP工作在端口25(用于邮件传输的标准端口)、587(TLS加密)、465(发送安全消息时可以使用)、2525(非加密电子邮件时可以使用)。另一方面,IMAP工作在端口993(安全TLS/SSL端口,也称为IMAPS)、端口143(默认端口)。
  • IMAP为用户提供了很大的灵活性并通过多个设备进行访问,而SMTP允许在成功发送电子邮件后更改电子邮件。

当然,实际运用过程中,如下图展示,我们是将SMTP与IMAP结合互补进行使用。