SMTP工作原理大剖析

网络 网络管理
简单邮件传输协议 (SMTP) 以可靠且高效的方式传输邮件。 要使 SMTP 应用程序正常工作,邮件的格式必须正确,并且客户端和服务器上均运行 SMTP 进程。

电子邮件托管是 ISP 提供的主要服务之一。 电子邮件因其简易性和通信速度使人们的通信方式发生了变革。 但是,如果要在计算机或其他终端设备上运行电子邮件,仍然需要多种应用程序和服务。

电子邮件是通过网络发送、存储和检索电子邮件的存储转发方法。 电子邮件存储在邮件服务器的数据库中。ISP 维护的邮件服务器一般可支持大量用户帐户。

[[342329]]

电子邮件客户端通过与邮件服务器通信来收发电子邮件。 邮件服务器之间也会互相通信,以便将邮件从一个域发到另一个域中。 也就是说,发送电子邮件时,电子邮件客户端并不会直接与另外一个电子邮件客户端通信。 而是双方客户端均依靠邮件服务器来传输邮件。 即使两个用户身处同一个域内也是如此。

电子邮件客户端根据应用程序设置中配置的地址将邮件发送到电子邮件服务器。 当服务器收到邮件时,它会检查收件人的域是否位于其本机数据库中。 如果不是,那么它会发出 DNS 请求,以确定目的域邮件服务器的 IP 地址。 然后电子邮件会转发到相应服务器。

电子邮件支持三种单独的协议以实现操作:简单邮件传输协议 (SMTP)、邮局协议 (POP) 和 Internet 邮件访问协议 (IMAP)。 发送邮件的应用层进程会使用 SMTP。 当邮件从客户端发送到服务器和从一个服务器发送到另一服务器时就是这种情况。·但是,客户端会使用以下两种应用层协议之一来检索电子邮件:POP 或 IMAP。

简单邮件传输协议 (SMTP) 以可靠且高效的方式传输邮件。 要使 SMTP 应用程序正常工作,邮件的格式必须正确,并且客户端和服务器上均运行 SMTP 进程。

SMTP 邮件格式要求邮件具有报头和正文。 邮件正文没有长度限制,但邮件报头必须具有格式正确的收件人电子邮件地址和发件人地址。 其他报头信息则可选择性填写。·当客户端发送电子邮件时,客户端 SMTP 进程会连接公认端口 25 上的服务器 SMTP 进程。 连接建立后,客户端将尝试通过此连接发送电子邮件到服务器。 服务器收到邮件后,如果收件人在本地,它会将邮件保存在本地帐户中,或者使用同一个 SMTP 连接进程将邮件转发给另一台邮件服务器以便传输。

发出电子邮件时,目的电子邮件服务器可能并不在线,或者正忙。 因此,SMTP 将邮件转到后台处理,稍后再发送。 服务器会定期检查邮件队列,然后尝试再次发送。 经过预定义的过期时间后,如果仍然无法发送邮件,则会将其作为无法投递的邮件退回给发件人。

邮局协议 (POP) 使工作站能够从邮件服务器检索邮件。 根据 POP 的规定,邮件将从服务器下载到客户端,然后从服务器上删除。

服务器通过在 TCP 端口 110 上被动侦听客户端连接请求来启动 POP 服务。 当客户端要使用此服务时,它会发送一个请求来建立与服务器的 TCP 连接。 一旦建立连接,POP 服务器即会发送问候语。 然后客户端和 POP 服务器会交换命令和响应,直到连接关闭或中止。

由于电子邮件会下载到客户端并从服务器删除,因此电子邮件不会集中保存在某一特定的位置。 因为 POP 不会存储邮件,因此不适于需要集中备份解决方案的小型企业。

POP3 是 ISP 的理想选择,因为它可缓解 ISP 在为邮件服务器管理大量存储空间方面的压力:

IMAP(Internet 邮件访问协议)是另外一种用于检索电子邮件的协议。 与 POP 不同的是,当用户连接使用 IMAP 的服务器时,邮件的副本会下载到客户端应用程序, 同时原始邮件会一直保留在服务器上,直到用户将它们手动删除。 用户在自己的电子邮件客户端软件中查看邮件副本。

用户可以在服务器上创建文件层次结构来组织和保存邮件。 该文件结构会照搬到电子邮件客户端。 当用户决定删除邮件时,服务器会同步该操作,从服务器上删除对应的邮件。

对于中小型企业而言,采用 IMAP 协议有许多好处。 利用 IMAP 可在邮件服务器上长期存储电子邮件,并可实现集中备份。 另外,员工也可从多个位置使用不同的设备或客户端软件来访问电子邮件。 无论采用哪种方式来访问邮箱,用户都可使用习惯的邮箱文件夹结构。

ISP 则可能不会选择 IMAP。 要存储如此多的电子邮件,需投入巨额资金购买和维护磁盘空间。 此外,如果客户希望定期备份邮箱,还会进一步增加 ISP 的成本。

 

责任编辑:赵宁宁 来源: 厦门微思网络
相关推荐

2010-09-17 15:32:52

JVM工作原理

2010-09-15 15:27:06

CSS hack

2009-12-31 11:37:05

MPLS网络

2010-03-11 10:05:21

服务器交换机

2010-03-18 11:16:24

全光交换机

2024-07-11 08:17:00

2024-08-20 08:40:54

2016-12-19 14:35:32

Spark Strea原理剖析数据

2012-07-25 11:04:43

传真机

2009-09-14 10:35:15

Linq内部执行原理

2018-09-18 15:57:44

机器学习ML神经网络

2009-08-14 13:19:23

2024-03-12 12:57:07

Redis主从架构

2014-02-12 10:07:07

三层交换原理

2009-06-18 13:31:03

Spring工作原理

2010-01-22 11:06:44

2012-02-08 10:37:42

Java反射

2010-09-06 12:50:09

PPP链路

2009-03-26 10:33:34

Oracle数据块数据库

2009-11-16 11:41:19

PHP上传大文件
点赞
收藏

51CTO技术栈公众号