SMTP 是一种提供可靠且有效电子邮件传输的协议。SMTP 是建模在 FTP 文件传输服务上的一种邮件服务,主要用于传输系统之间的邮件信息并提供来信有关的通知。
SMTP 独立于特定的传输子系统,且只需要可靠有序的数据流信道支持。SMTP 重要特性之一是其能跨越网络传输邮件,即SMTP 邮件中继。通常,一个网络可以由公用互联网上 TCP 可相互访问的主机、防火墙分隔的 TCP/IP 网络上 TCP 可相互访问的主机,及其它 LAN/WAN 中的主机利用非 TCP 传输层协议组成。使用 SMTP,可实现相同网络上处理机之间的邮件传输,也可通过中继器或网关实现某处理机与其它网络之间的邮件传输。
在这种方式下,邮件的发送可能经过从发送端到接收端路径上的大量中间中继器或网关主机。域名服务系统(DNS)的邮件交换服务器可以用来识别出传输邮件的下一跳 IP 地址。
协议结构
SMTP 命令是发送于 SMTP 主机之间的 ASCII 信息,可能命令如下所示:
| 命令 | 描述 |
| DATA | 开始信息写作 |
| EXPN <string> | 在指定邮件表中返回名称 |
| HELO <domain> | 返回邮件服务器身份 |
| HELP <command> | 返回指定命令中的信息 |
| MAIL FROM <host> | 在主机上初始化一个邮件会话 |
| NOOP | 除服务器响应确认以外,没有引起任何反应 |
| QUIT | 终止邮件会话 |
| RCPT TO <user> | 指明谁收到邮件 |
| RSET | 重设邮件连接 |
| SAML FROM <host> | 发送邮件到用户终端和邮箱 |
| SEND FROM <host> | 发送邮件到用户终端 |
| SOML FROM <host> | 发送邮件到用户终端或邮箱 |
| TURN | 接收端和发送端交换角色 |
| VRFY <user> | 校验用户身份 |
组织来源:SMTP 由 IETF(http://www.ietf.org/)定义在 RFC2821中。
相关链接:http://www.javvin.com/protocol/rfc2821.pdf:Simple Mail Transfer Protocol


