基本命令 1、HELO HELO hostname 从客户端打开问候信息,使用SMTP服务器识别客户机的身份。但客户机 可随意修改这个hostname。存在安全问题,如果真要知道客户机的身份,可使用反向域名 解析系统,根据客户机的IP地址查询其DNS名字。如果不符可拒绝访问。 2、MAIL 标识发件人,MAIL FROM:XXX@EXAMPLE.COM 3、RCPT 标识收件人,RCPT TO:XXX@EXAMPLE.COM 电子邮件是互联网上最常用的信息交流方式之一,而SMTP(Simple Mail Transfer Protocol)是电子邮件系统的核心协议,用于在邮件服务器之间传递邮件。以下是对SMTP协议基础知识的详细解释。 电子邮件系统由三个主要组件构成:邮件分发代理(MDA)、邮件传送代理(MTA)和邮件用户代理(MUA)。MDA负责在本地邮件服务器上将邮件分发给用户,MTA则负责邮件的接收和传送,而MUA是用户与邮件交互的接口,提供阅读邮件的界面。例如,binmail和procmail是常见的MDA程序,sendmail、qmail和postfix是常用的MTA,binmail和pine、kmail等则是MUA的代表。 SMTP协议中包含一系列基本命令,用于控制邮件的发送过程: 1. HELO:客户端使用此命令向服务器发送问候,告知自己的身份。但是,由于安全性问题,客户端可以随意设定hostname,因此服务器通常会通过反向域名解析验证客户端身份。 2. MAIL FROM:标识邮件的发件人,格式如"MAIL FROM:<XXX@EXAMPLE.COM>"。 3. RCPT TO:标识邮件的收件人,格式为"RCPT TO:<XXX@EXAMPLE.COM>"。 4. DATA:表示邮件正文的开始,之后的内容直到以"."单独一行作为结束标记都被视为邮件正文。 5. SEND、SOML、SAML、TURN等命令因安全风险通常被禁用或不再支持,如SEND可以让外部用户无需登录即可查看在线用户,这在现代SMTP中是不允许的。 6. RSET:用于重置连接,将状态恢复到HELO后。 7. VRFY:验证邮箱是否存在,但可能被滥用,故许多服务器选择禁用。 8. EXPN:查询邮件列表和别名,也常被禁用以防止滥用。 9. HELP:提供帮助信息。 10. NOOP:无操作,仅确认连接可用。 11. QUIT:结束SMTP会话。 1995年,SMTP进行了扩展,引入了EHLO命令,以支持更多的ESMTP命令,如DSN(Delivery Status Notification)提供邮件状态通知,以及ETRN( Expedited Transport Reversal)允许客户端请求邮件的批量投递。这些扩展增强了邮件系统的功能和安全性。 在SMTP的交互过程中,服务器会返回各种返回码,如500系列表示语法错误,250表示成功,450和550表示邮箱不可用等,这些返回码帮助客户端了解邮件发送的状态。 SMTP协议是电子邮件系统的基础,其命令集和返回码构成了邮件发送的核心流程。随着技术的发展,SMTP不断演化以应对安全挑战和功能需求,如引入ESMTP来增强功能和安全性。理解SMTP的工作原理对于管理和维护电子邮件系统至关重要。
剩余17页未读,继续阅读
- 粉丝: 1
- 资源: 7
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 基于Eclipse Paho Mqtt 的简单封装详细文档+全部资料.zip
- 基于electron-vue,mqtt,借鉴微信体验,支持windows,linux,mac三大平台详细文档+全部资料.zip
- 基于DuerOS的对话式物联网控制示例,采用了百度的物联网IoT Hub MQTT Server详细文档+全部资料.zip
- 基于esp8266 mqtt arduino IDE开发的系列IOT引用项目详细文档+全部资料.zip
- 基于ESP利用MQTT通信、IRext开源库实现万能红外遥控详细文档+全部资料.zip
- 基于golang和gin框架一个快速接入MQTT物联网设备的服务器详细文档+全部资料.zip
- 基于esp32-wifi实现mqtt手持测量仪详细文档+全部资料.zip
- 基于Flask框架使用MQTT进行消息互动详细文档+全部资料.zip
- 基于hyperf建立的mqtt服务端详细文档+全部资料.zip
- 基于Go语言的SiteWhere(物联网平台)服务搭建【+SDK ( JSON、REST、MQTT 通信 ) 】详细文档+全部资料.zip
- 基于Go语言实现:基于Eclipse Paho MQTT Go client、GIN框架实现ThingsBoard提供的MQTT、HTTP API详细文档+全部资料.zip
- 基于linux平台C++编写的高性能异步mqtt协议代理服务详细文档+全部资料.zip
- 基于Kotlin Multiplatform的跨平台socket通信统一接口,在对Kotlin有较好的支持的同时兼容在JAVA中调用。目前支持Android目标
- 基于mqtt.js针对egg封装的插件,可以在agent进程上稳定运行,开箱即用详细文档+全部资料.zip
- 基于Lora的物联网监管系统服务器, SSM+MySQL+MQTT详细文档+全部资料.zip
- 基于micropython可以触控和MQTT控制的按钮开关详细文档+全部资料.zip