一、简介
连个报文传送代理MTA(Message Transfer Agent)之间用NVT ASCII进行通信。客户向服务器发出命令,服务器用数字应答码和可选的人可读字符串进行响应。客户只能向服务器发送很少的命令:不到12个。
SMTP的命令主要包括:
HELO:用于标识自己;
MAIL:用于标识出报文的发起人;
RCPT:标识接收方;
DATA:发送邮件报文的内容;
QUIT:结束邮件交换;
VRFY:使用户能够询问发送方以验证接收方地址,而无需向接收方发送邮件;
NOOP:强迫服务器响应一个OK应答码(200);
EXPN:决定到该用户的邮件是否被转发,并打印出转发的地址。
一个电子邮件一般由三部分组成:
(1)信封(envelope)是MTA用来交付的。
(2)首部由用户代理使用。如Received、Message-Id、From、Data、Reply-To、X-Phone等。
(3)正文(body)是发送用户发给接受用户报文的内容。
SMTP的一个特色是它用NVT ASCII表示一切:信封、首部和正文。
一般,如果用户把一个新的邮件报文传给它的MTA时,通常立即试图交付。如果交付失败,MTA必须把该报文放入队列中以后再重试,初始重试的时间间隔至少为30分钟。
MX记录是DNS中一种资源记录类型,用于邮件交换记录。
二、SMTP的未来
SMTP已经由了很多的扩充,主要包括:
(1)信封的变化:扩充的SMTP;
(2)首部的电话:非ASCII字符;
(3)正文变化:通用Internet邮件扩充。