下面通过一个实例进行说明。在本例中,假设邮件从名为panwei@163. com的发件人电子邮件箱(运行SMTP客户进程,具体显示为C)传送到名为network@xmu. edu. cn的收件人电子信箱(运行SMTP服务器进程,具体显示为S),具体的命令和响应信息如下:telnetwww.example.com25它打开一个从发送的机器到主机www.example.com的SMTP连接。
以上所示的是一个简单的SMTP交换过程,包括了连接建立、邮件传送和连接释放三个具体过程:首先建立TCP连接,SMTP调用TCP协议的25号端口监听连接请求,客户端发送HEl。()命令以标识发件人自己的身份,服务器做出响应。然后,客户端发送MAII)命令,服务器以OK作为Ⅱ向应,表明准备接收。客户端发送RCPT命令以标识电子邮件的收件人,可以有多个RCPT行,即一份邮件可以同时发送给多个收件人。服务器端则表示是否愿意为收件人接收邮件。协商结束后,客户端用DATA命令发送信息,以CRLF表示结束输入内容。最后,控制交互的任一端可选择终止会话,为此它发出一个QUIT命令,另一端用命令221响应,表示同意终止连接,双方将关闭连接。
SMTP交换过程中服务器端发出的u201c250 0Ku201d含义是一切都好。与使用其他协议一样,程序只读缩写命令和每行开头的三个数字,其余文本是用于帮助用户调试邮件软件。在命令成功时,服务器返回代码250,如果失败则返回代码550(命令无法识别)、451(处理时出错)、452(存储空间不够)、421(服务器不可用)等,354则表示开始信息输入。
SMTP的局限性表现在只能发送ASCII码格式的报文,不支持中文、法文、德文等,它也不支持语音、视频的数据。通过MIME协议,对SMTP补充。MIME使用网络虚拟终端(NVT)标准,允许非ASCII码数据通过SMTP传输。