合集 | 网游 | 网游新闻 | 网游测评 | 网游攻略 | 网游视频 | 手游 | 手游新闻 | 手游测评 | 手游攻略 | 手游视频

SMTP是什么

2023-11-25 10:08:17 /

字体大小:【 | |

本期就带大家了解一下这个问题,这是很多小伙伴在寻找的教程哦,在发送邮件时,通常会看到需要先同意一些协议才能操作,有人想知道SMTP是什么协议。那SMTP是什么?

相较于POP3而言,SMTP确实比较简单。这里的简单并不是指SMTP的命令比POP3少,而是指SMTP的命令是有序的,而POP3的命令是无序的,理解这一点很重要。也就是说SMTP的命令是要组合在一起才能完成一次邮件发送任务,单独调用每个命令的意义不大。POP3命令则不同,LIST、STAT、UIDL、TOP、RETR、DELE等命令都可以独立使用,比如用LIST命令查看邮件清单,然后用RETR命令接收邮件。

简单的另一层含义是:就socket编程而言实现发送数据要比实现接收数据简单点。

比如接收数据时要判断数据是否接收完毕。如果一条数据以回车换行结束,就需要判断是否接收到了"",从而确保读取到一条完整的消息体。而发送数据则不需要考虑上述问题,你可以按照自己的节奏发送数据,可以一次将整个消息体发送出去,也可以不用考虑服务器的死活一个字节一个字节发送数据,直至将整条消息发送完毕。

换句话说,接收数据要以流的方式进行,而不是简单的开辟一个缓冲区,进行一次recv操作。虽然大部分情况下这种方式也没有问题,比如写个Demo程序,但如果要让你的网络程序非常健壮的话,最好以流的方式进行读取。因为并不是每次对方都会按照你期望的方式发送数据给你,比如,你开辟了1024字节缓冲区用于接收网络数据,但对方可能一次只给你发送一个字节,或者发出了1025个字节。

SMTP和HTTP协议一样都属于请求应答式协议,也就是一问一答,客户端发送命令后,服务器返回响应内容。SMTP的响应格式和HTTP协议的基本一样,都是响应码+响应描述。响应码用三位数字表示,空格后则是响应信息的描述,只是HTTP协议会多一个版本信息。

这种一问一答式协议,在HTTP协议上体现的并不是很明显,只有HTTP连接设置为Keep-Alive时,你才有机会使用GET或POST命令反复与服务器进行交互,否则只有一次问答的机会。

本文以华硕天选2为例适用于Windows 11系统

以上就是给大家带来的关于本次教程的全部内容了,了解更多软件资讯尽在本站!

这些是你想要的吗?