SMTP协议及常见指令介绍

什么是SMTP协议?

SMTP(Simple Mail Transfer Protocol)简单邮件传输协议,是一种广泛应用于互联网电子邮件系统中的应用层协议,负责在不同网络节点间可靠传输电子邮件。SMTP的主要功能是在发送方邮件服务器和接收方邮件服务器之间传递邮件消息,确保电子邮件能够从发件人邮箱成功送达至收件人邮箱。

SMTP协议特点

**👉 TCP/IP基础:**SMTP运行在TCP/IP协议之上,使用固定的端口号25(默认SMTP端口)或者587、465(提交SMTP端口,用于用户代理发送邮件)进行通信。

**👉 可靠性:**SMTP设计时考虑了邮件传输的可靠性和效率,采用命令-响应机制,允许重试和错误恢复,保证邮件即使在网络不稳定的情况下也能最终送达。

**👉 中继:**SMTP支持邮件中继,这意味着邮件可以从一台邮件服务器转发到另一台邮件服务器,直到邮件到达最终的目标邮件服务器,这使得电子邮件能在全球范围内自由流动。

**👉 认证与安全:**SMTP原始版本没有内置加密或身份验证机制,但后来出现了扩展如STARTTLS(在传输层提供安全套接字层加密)和SMTP-AUTH(提供用户名和密码认证)。此外,为了增强安全性,现在许多邮件服务器还支持使用SSL/TLS加密的465端口进行SMTP通信。

SMTP工作流程

✅ 客户端(邮件用户代理软件或邮件客户端)通过SMTP连接到本地邮件服务器。

✅ 发送方邮件服务器与接收方邮件服务器建立SMTP会话,协商传输细节并传输邮件内容。

✅ 邮件头包括发件人、收件人、抄送、密送等信息,邮件体则包含实际的消息内容。

✅ 收件人邮件服务器收到邮件后,可能存储邮件到收件人的邮箱,或者如果收件人不在本地,则继续进行邮件中继。

✅ 邮件投递通知:SMTP还可以用来查询邮件状态报告(DSN)以及回执请求,不过这些功能并非所有邮件服务器都支持。

SMTP发信流程图

SMTP协议常见指令

SMTP协议命令集包括一组用于控制邮件传输过程的命令,以下是一些基本的SMTP命令及其作用:

**👉 EHLO / HELO:**扩展的问候语,用于标识发送方主机并声明支持ESMTP扩展命令。HELO是SMTP最初的问候命令,EHLO是它的扩展版本,在支持ESMTP的服务器上通常优先使用。

**👉 MAIL FROM:**初始化邮件传输,告知接收方服务器邮件发送者的地址。这个命令后是发件人的电子邮件地址。

**👉 RCPT TO:**指定邮件的单一接收者。可以多次使用此命令来添加多个收件人。

**👉 DATA:**表示接下来的数据行将构成邮件的实际内容,包括邮件头和主体。邮件数据由一个终止的.(点)行(即.)来标记结束。

**👉 NOOP:**执行无操作,主要用于保持连接活跃或测试服务器响应。

**👉 QUIT:**结束SMTP会话,释放连接。

**👉 AUTH (ESMTP扩展):**在支持身份验证的SMTP服务器上进行身份验证,机制可以是PLAIN、LOGIN、CRAM-MD5等多种形式。

**👉 STARTTLS (ESMTP扩展):**请求升级到加密连接,以便在不安全的网络上传输邮件时保护数据安全。除此之外,还有其他一些较少用到或特定情况使用的命令,例如HELP获取帮助信息,或是各种参数设置命令。随着SMTP的发展,更多的扩展命令被引入以满足更复杂的安全和管理需求。

SMTP命令示例

参考来源:SMTP协议及常见指令介绍 | MailABC邮件知识百科

相关推荐
Multipath7122 小时前
无人载具的高可靠低时延聚合组网方案
网络·网络协议·安全·udp·智能路由器
雪雪爱冲浪2 小时前
ISP代理与住宅代理选型对比:从原理到实战
服务器·网络·网络协议·tcp/ip·接口隔离原则
墨天梦3 小时前
B15_HTTP解析与OkHttp拦截器
网络协议·http·okhttp
梦帮科技3 小时前
【3.0修订版】音乐权利 NFT:MusicRightsNFT 的确权思想与授权关联
网络协议·算法·web3·区块链·密码学·智能合约·零知识证明
acd120093 小时前
RPC接口超时配置明明没问题,线上却随机超时
网络·网络协议·rpc
砚凝霜3 小时前
【软考信息安全】第九章 虚拟专用网与IPSec/SSL安全协议技术原理
网络·网络协议·ssl
巨擎网络19 小时前
为什么打开 App,消息才一股脑涌进来?
网络协议·app
福兮说1 天前
IP 地址转整数的七个坑:192.168.1.1 算出负数、127.1 也是合法地址、存进 INT 直接溢出
javascript·网络·网络协议·tcp/ip·mysql·golang
0+1111 天前
Linux --应用层协议HTTP
网络·网络协议·http
网络小江2 天前
组网第十课:编码、速率与排障——从比特到信号的最后一公里
网络协议