安卓软件

  • 小说漫画
  • 社交通讯
  • 视频直播
  • 出行导航
  • 生活休闲
  • 主题壁纸
  • 拍照美化
  • 新闻阅读
  • 办公学习
  • 实用工具
  • 健康运动

安卓游戏

  • 益智休闲
  • 冒险解谜
  • 动作格斗
  • 策略塔防
  • 角色扮演
  • 音乐舞蹈
  • 赛车竞速
  • 卡牌决斗
  • 模拟经营
  • 橙光游戏

文章速递

  • 游戏攻略
  • 软件教程
  • 热点新闻
  • 综合阅读
您的位置: 首页> 资讯攻略> 综合阅读

SMTP是什么_SMTP是什么协议

2022-11-28 16:01:45来源:zehong

在发送邮件时,通常会看到需要先同意一些协议才能操作,有人想知道SMTP是什么协议。那SMTP是什么?

SMTP是什么?

SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式。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系统

以上就是明氏小编给大家带来的关于“SMTP是什么”的全部内容了,了解更多资讯尽在明氏!

文章推荐