2024年4月21日发(作者:)

SMTP协议

SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议,是一种提供可靠且有

效电子邮件传输的协议。SMTP是建立在FTP文件传输服务上的一种邮件服务,主要用

于传输系统之间的邮件信息并提供与来信有关的通知。

SMTP目前已是事实上的在Internet传输E-Mail的标准,是一个相对简单的基

于文本的协议。在其之上指定了一条消息的一个或多个接收者(在大多数情况下被确

定是存在的),然后消息文本就传输了。可以很简单地通过Telnet程序来测试一个

SMTP服务器,SMTP使用TCP端口25。要为一个给定的域名决定一个SMTP服务器,

需要使用MX(Mail eXchange)DNS。

SMTP协议发展[回目录]

在20世纪80年代早期SMTP开始被广泛地使用。当时它只是作为UUCP的补充,

UUCP更适合于处理在间歇连接的机器间传送邮件。相反SMTP在发送和接收的机器始

终都联网的情况下工作得最好。

SMTP独立于特定的传输子系统,且只需要可靠有序的数据流信道支持。SMTP重

要特性之一是其能跨越网络传输邮件,即“SMTP邮件中继”。通常,一个网络可以

由公用因特网上TCP可相互间访问的主机、防火墙分隔的TCP/IP网络上TCP可相互

访问的主机,以及其他LAN/WAN中的主机利用非TCP传输层协议组成。使用SMTP,

可实现相同网络上处理机之间的邮件传输,也可通过中继器或网关是实现某处理机与

其他网络之间的邮件传输。

在这种方式下,邮件的发送可能经过从发送端到接收端路径上的大量中间中继器

或网关主机。域名服务系统(DNS)的邮件交换服务器可以用来识别出传输邮件的下一

跳IP地址。

Sendmail是最早实现SMTP的邮件传输代理之一。到2001年至少有50个程序将

SMTP 实现为一个客户端(消息的发送者)或一个服务器(消息的接受者)。一些其

他的流行的SMTP服务器包括Philip Hazel 的exim,IBM的Postfix,ein

的Qmail,以及Microsoft Exchange Server.

由于这个协议开始是基于纯ASCⅡ文本的,在二进制文件上处理得并不好。后来

开发了用来编码二进制文件的标准,如MIME,以使其通过SMTP来传输。今天,大多

数SMTP服务器都支持8位MIME扩展,它使二进制文件的传输变得几乎和纯文本一样

简单。

( 注意:SMTP是一个"推"的协议,它不允许根据需要从远程服务器上“拉”来

消息。要做到这点,邮件客户端必须使用POP3或IMAP上。另一个,SMTP服务器可

以使用ETRN(Extended Turn,扩展回车)命令在SMTP上触发一个发送。)

垃圾邮件仍然是个重要的问题。原始的SMTP协议的局限之一在于它没有为发送

方进行认证的功能。因此定义了SMTP-AUTH 扩展。由于SMTP 巨大安装基础的网络效

应,广阔地修改SMTP或者完全替代它被认为是不现实的。Internet Mail 2000 就是

这样一个为替换而做的建议。IRTF 的反垃圾邮件研究小组正在研究一些提供简单、

灵活、轻量级的、可升级的源端认证的建议。最有可能被接受的建议是Sender Policy

Framework 协议。

SMTP协议命令[回目录]

SMTP命令是发送于SMTP主机之间的ASCⅡ信息,可能使用到的命令如下表所示。

SMTP协议命令

命令

DATA

描述

开始信息写作

验证给定的邮

EXPN

箱列表是否存

在,扩充邮箱列

表,也常被禁用

向服务器标识

HELO

用户身份,返回

邮件服务器身

查询服务器支

HELP

持什么命令,返

回命令中的信

在主机上初始

化一个邮件会

无操作,服务器

应响应OK

MAIL

FROM

NOOP