Smtp(Simple Mail Transfer Protocol)协议是为保证电子邮件的可靠和高效传输,TCP/IP协议的应用层中包含有SMTP协议,但是事实上其与传输系统和机制无关,只要一个可靠的数据流通道,该协议可以工作在TCP上,也可以工作在NCP,NITS等协议上,在TCP上,其使用端口25进行传输。STMP的重要特点是可以交互的通信系统中传发邮件。
SMTP提供了一种邮件传输的机制,当接受方和发送方都种子 一 个网络上时,可以把邮件直接传给对方,当双方不在同一网络上时,需要通过一个或几个中间服务器转发。STMP首先由发送方提供声请,要求与控接方SMTP建立双向通道,接收方可以是最后接件人也可以是中间转发的服务器,接收服务器确认可以建立连接后,双发就可以开始通信。
发送方SMTP向接受方发出Mail命令,告知发送方的身份,如果回答OK。发送方再发出RCPT命令,告知收件人的身份,接收方SMTP确认是否接收或转发,如果同意就回答OK,接下来几可以进程数据传输拉。
那SMTP 的命令是什么拉?STMP中定义15个命令,其中SMTP工作的基本的命令有7个,HELO,MAILFROM,RCPT TO,DATA,REST,NOOP和QUIT;
下面我们介绍一下这几个命令:
HELO:发送方问候接收方,后面是发件人的服务器地址或标志;
MAILFROM:开始发送邮件,起后面跟随发送邮件发送方 的地址;
RCPT TO:接受方收件人的邮箱
DATA:接收方把把该命令之后的数据作为发送数据;
REST:接收方复位;
NOOP:这个命令不影响任何参数,只是要求接收回答OK,不会影响缓冲区的数据;
OUIT;SMTP要求接受方需要回答OK;然后中断传输在接到这个命令并回答OK前,接受方不得中断连接,即使传输出现错误。