SMTP

SMTP

电子邮件传输协议
SMTP是一种提供可靠且有效的电子邮件传输的协议。SMTP是建立在FTP文件传输服务上的一种邮件服务,主要用于系统之间的邮件信息传递,并提供有关来信的通知。SMTP独立于特定的传输子系统,且只需要可靠有序的数据流信道支持,SMTP的重要特性之一是其能跨越网络传输邮件,即“SMTP邮件中继”。使用SMTP,可实现相同网络处理进程之间的邮件传输,也可通过中继器或网关实现某处理进程与其他网络之间的邮件传输。
  • 中文名:简单邮件传输协议
  • 外文名:Simple Mail Transfer Protocol
  • 适用领域:
  • 所属学科:
  • 作用:传输系统之间的邮件信息
  • 端口:25

简介

SMTP是一个相对简单的基于文本的协议。在其之上指定了一条消息的一个或多个接收者(在大多数情况下被确认是存在的),然后消息文本会被传输。可以很简单地通过telnet程序来测试一个SMTP服务器。SMTP使用TCP端口25。要为一个给定的域名决定一个SMTP服务器,需要使用MX (Mail eXchange)DNS。

在八十年代早期SMTP开始被广泛地使用。当时,它只是作为UUCP的补充,UUCP更适合于处理在间歇连接的机器间传送邮件。相反,SMTP在发送和接收的机器在持续连线的网络情况下工作得最好。

Sendmail是最早使用SMTP的邮件传输代理之一。到2001年至少有50个程序将SMTP实现为一个客户端(消息的发送者)或一个服务器(消息的接收者)。一些其他的流行的SMTP服务器程序包括了Philip Hazel的exim,IBM的Postfix,D. J. Bernstein的Qmail,以及Microsoft Exchange Server。

由于这个协议开始是基于纯ASCII文本的,它在二进制文件上处理得并不好。诸如MIME的标准被开发来编码二进制文件以使其通过SMTP来传输。今天,大多数SMTP服务器都支持8位MIME扩展,它使二进制文件的传输变得几乎和纯文本一样简单。

SMTP是一个“推”的协议,它不允许根据需要从远程服务器上“拉”来消息。要做到这点,邮件客户端必须使用POP3或IMAP。另一个SMTP服务器可以使用ETRN在SMTP上触发一个发送。

功能

SMTP是一组用于从源地址到目的地址传送邮件的规则,并且控制信件的中转方式。SMTP协议属于TCP/IP协议族,它帮助每台计算机在发送或中转信件时找到下一个目的地。通过SMTP协议所指定的服务器,我们就可以把E—mail寄到收信人的服务器上了,整个过程只需要几分钟。SMTP服务器是遵循SMTP协议的发送邮件服务器,用来发送或中转用户发出的电子邮件。

SMTP是一种提供可靠且有效电子邮件传输的协议。它是建立在FTP文件传输服务上的一种邮件服务,主要用于传输系统之间的邮件信息并提供来信有关的通知。

SMTP重要的特性之一是它能跨越网络传输邮件,也即“SMTP邮件中继”。使用SMTP,可实现相同网络上处理机之间的邮件传输,也可以通过中继器或网关实现某处理机与其它网络之间的邮件传输。具有域名服务系统(DNS)功能的邮件交换服务器还可以用来识别出传输邮件的下一跳IP地址。

工作过程

SMTP协议的工作过程可分为如下3个过程:

(1)建立连接:在这一阶段,SMTP客户请求与服务器的25端口建立一个TCP连接。一旦连接建立,SMTP服务器和客户就开始相互通告自己的域名,同时确认对方的域名。

(2)邮件传送:利用命令,SMTP客户将邮件的源地址、目的地址和邮件的具体内容传递给SMTP服务器,SMTP服务器进行相应的响应并接收邮件。

(3)连接释放:SMTP客户发出退出命令,服务器在处理命令后进行响应,随后关闭TCP连接。

SMTP通信举例

下面通过一个实例进行说明。在本例中,假设邮件从名为panwei@163. com的发件人电子邮件箱(运行SMTP客户进程,具体显示为C)传送到名为network@xmu. edu. cn的收件人电子信箱(运行SMTP服务器进程,具体显示为S),具体的命令和响应信息如下:telnetwww.example.com25它打开一个从发送的机器到主机www.example.com的SMTP连接。

1

S:(注:等待连接TCP的25号端口,该端口对应SMTP服务)

2

 

3

C:(注:打开与服务器的连接)

4

 

5

S: 220 xmu. edu. cn SMTP Service ready(注:服务器的TCP连接就绪)

6

 

7

C: HELO 163.com

8

 

9

S: 250 xmu. edu. cn says hello

10

 

11

C:MAIl. FROM:

12

 

13

S:250 0K

14

 

15

C: RCPT TO:

16

 

17

S:250 0K

18

 

19

C:DATA

20

S:354 Start mail input; end wITh.

21

 

22

C:…sends body of mail message..

23

 

24

C:…Dear xxx..

25

 

26

C:

27

 

28

S:250 OK

29

 

30

C:QUIT

31

S: 221 xmu. edu. cn Service closing transmission channel

以上所示的是一个简单的SMTP交换过程,包括了连接建立、邮件传送和连接释放三个具体过程:首先建立TCP连接,SMTP调用TCP协议的25号端口监听连接请求,客户端发送HElO命令以标识发件人自己的身份,服务器做出响应。然后,客户端发送MAII)命令,服务器以OK作为Ⅱ向应,表明准备接收。客户端发送RCPT命令以标识电子邮件的收件人,可以有多个RCPT行,即一份邮件可以同时发送给多个收件人。服务器端则表示是否愿意为收件人接收邮件。协商结束后,客户端用DATA命令发送信息,以表示结束输入内容。最后,控制交互的任一端可选择终止会话,为此它发出一个QUIT命令,另一端用命令221响应,表示同意终止连接,双方将关闭连接。

SMTP交换过程中服务器端发出的“250 0K”含义是一切都好。与使用其他协议一样,程序只读缩写命令和每行开头的三个数字,其余文本是用于帮助用户调试邮件软件。在命令成功时,服务器返回代码250,如果失败则返回代码550(命令无法识别)、451(处理时出错)、452(存储空间不够)、421(服务器不可用)等,354则表示开始信息输入。

SMTP的局限性表现在只能发送ASCII码格式的报文,不支持中文、法文、德文等,它也不支持语音、视频的数据。通过MIME协议,对SMTP补充。MIME使用网络虚拟终端(NVT)标准,允许非ASCII码数据通过SMTP传输。

SMTP安全和垃圾邮件

最初的SMTP的局限之一在于它没有对发送方进行身份验证的机制。因此,后来定义了SMTP-AUTH扩展。

尽管有了身份认证机制,垃圾邮件仍然是一个主要的问题。但由于庞大的SMTP安装数量带来的网络效应,大刀阔斧地修改或完全替代SMTP被认为是不现实的。Internet Mail 2000就是一个替代SMTP的建议方案。

因此,出现了一些同SMTP工作的辅助协议。IRTF的反垃圾邮件研究小组正在研究一些建议方案,以提供简单、灵活、轻量级的、可升级的源端认证。最有可能被接受的建议方案是发件人策略框架协议。

相关词条

相关搜索

其它词条