`
jimmy.shine
  • 浏览: 389335 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

SMTP协议的命令和应答

    博客分类:
  • Mail
阅读更多
从前面的通讯模型可以看出SMTP协议在发送SMTP和接收SMTP之间的会话是靠发送SMTP的SMTP命令和接收SMTP反馈的应答来完成的。在通讯链路建立后,发送SMTP发送MAIL命令指令邮件发送者,若接收SMTP此时可以接收邮件则作出OK的应答,然后发送SMTP继续发出RCPT命令以确认邮件是否收到,如果接收到就作出OK的应答,否则就发出拒绝接收应答,但这并不会对整个邮件操作造成影响。双方如此反复多次,直至邮件处理完毕。SMTP协议共包含10个SMTP命令,列表如下:
SMTP命令命令说明
HELLO<domain><CRLF>识别发送方到接收SMTP的一个HELLO命令
MAILFROM:<reverse-path><CRLF><reverse-path>为发送者地址。此命令告诉接收方一个新邮件发送的开始,并对所有的状态和缓冲区进行初始化。此命令开始一个邮件传输处理,最终完成将邮件数据传送到一个或多个邮箱中。
RCPTTO:<forward-path><CRLF><forward-path>标识各个邮件接收者的地址
DATA<CRLF>
接收SMTP将把其后的行为看作邮件数据去处理,以<CRLF>.<CRLF>标识数据的结尾。
REST<CRLF>退出/复位当前的邮件传输
NOOP<CRLF>要求接收SMTP仅做OK应答。(用于测试)
QUIT<CRLF>要求接收SMTP返回一个OK应答并关闭传输。
VRFY<string><CRLF>验证指定的邮箱是否存在,由于安全因素,服务器多禁止此命令。
EXPN<string><CRLF>验证给定的邮箱列表是否存在,扩充邮箱列表,也常禁止使用。
HELP<CRLF>查询服务器支持什么命令
注:<CRLF>为回车、换行,ASCII码分别为13、10(十进制)。
  SMTP协议的每一个命令都会返回一个应答码,应答码的每一个数字都是有特定含义的,如第一位数字为2时表示命令成功;为5表失败;3表没有完成。一些较复杂的邮件程序利用该特点,首先检查应答码的首数字,并根据其值来决定下一步的动作。下面将SMTP的应答码列表如下:
应答码说明
501参数格式错误
502命令不可实现
503错误的命令序列
504命令参数不可实现
211系统状态或系统帮助响应
214帮助信息
220<domain>服务就绪
221<domain>服务关闭
421<domain>服务未就绪,关闭传输信道
250要求的邮件操作完成
251用户非本地,将转发向<forward-path>
450要求的邮件操作未完成,邮箱不可用
550要求的邮件操作未完成,邮箱不可用
451放弃要求的操作;处理过程中出错
551用户非本地,请尝试<forward-path>
452系统存储不足,要求的操作未执行
552过量的存储分配,要求的操作未执行
553邮箱名不可用,要求的操作未执行
354开始邮件输入,以"."结束
554操作失败
分享到:
评论

相关推荐

    常用SMTP命令详解(附图)

    该文档详细介绍了一些常用的SMTP命令,并附有实际操作的演示图,希望对大家有所帮助,谢谢

    基于C/S的电子邮件简单收发系统设计与实现

    2.3.2 POP3的命令和应答 3 系统需求分析 3.1 功能需求 3.1.1 邮件发送需求 3.1.2 邮件接收需求 3.1.3 附加功能需求 3.2 研究思路 3.2.1 用户注册块 3.2.2 邮件发送块 3.2.3 邮件接收块 3.2.4 地址薄管理块...

    邮件系统--(毕业设计)

    3.2 SMTP协议的命令和应答 6 3.2.1 SMTP协议的命令 6 4 RFC822 14 4.1 RFC822简单介绍 14 4.2 信件的头部 14 5 命名控件MailSend 20 5.1 发送邮件类SmtpMail 20 5.2 AddExtra类 27 5.2.1 调用Windows API ...

    电子邮件毕业论文正文

    3.2 SMTP协议的命令和应答 6 3.2.1 SMTP协议的命令 6 4 RFC822 14 4.1 RFC822简单介绍 14 4.2 信件的头部 14 5 命名控件MailSend 20 5.1 发送邮件类SmtpMail 20 5.2 AddExtra类 27 5.2.1 调用Windows API ...

    c电子邮件客户端软件毕业设计答辩版

    3.2 SMTP协议的命令和应答 6 3.2.1 SMTP协议的命令 6 4 RFC822 14 4.1 RFC822简单介绍 14 4.2 信件的头部 14 5 命名控件MailSend 20 5.1 发送邮件类SmtpMail 20 5.2 AddExtra类 27 5.2.1 调用Windows API ...

    C#邮件客户端毕业设计源码

    3.2 SMTP协议的命令和应答 6 3.2.1 SMTP协议的命令 6 4 RFC822 14 4.1 RFC822简单介绍 14 4.2 信件的头部 14 5 命名控件MailSend 20 5.1 发送邮件类SmtpMail 20 5.2 AddExtra类 27 5.2.1 调用Windows API ...

    RFC821_简单邮件传输协议.DOC

    RFC821 简单邮件传输协议(SMTP) (RFC821 SIMPLE MAIL TRANSFER PROTOCOL) 目录 1. 介绍 2 2. SMTP模型 3 3. SMTP过程 4 3.1. MAIL 4 3.2. 转发 5 3.3. 确认和扩展 6 3.4. 发送信件(mailing)和获得信件(sending) ...

    rfc 821 txt 中文版

    4.3. 命令和应答序列 16 4.4. 状态图 17 4.5. 详细内容 18 4.5.1. 最小实现 18 4.5.2. 透明性 19 4.5.3. 大小 19 附录 A TCP传输服务 19 附录 B NCP传输服务 20 附录 C NITS 20 附录 D X.25传输服务 20 附录 E 应答...

    C#电子邮件客户端软件

    3.2.1 SMTP协议的命令 10 3.2.2 SMTP的应答 18 第4章 RFC822 21 4.1 RFC822简单介绍 21 4.2 信件的头部 22 第5章 命名控件MAILSEND 29 5.1 发送邮件的类SMTPMAIL 29 5.2 ADDEXTRA类 40 第6章 软件运行时的界面 42 ...

    电子邮件服务器的建立及设置.docx

    发送SMTP用户文件系统接收SMTPSMTP命令,应答和邮件内容文件系统接收SMTP发送SMTP 发送 SMTP 用户 文件 系统 接收 SMTP SMTP命令,应答和邮件内容 文件 系统 接收SMTP 发送SMTP 图5-1 SMTP使用模型 (2)POP3(Post...

    php网上留言管理系统的设计(源代码+LW)1.zip

    smtp协议_应答码说明: '* 500 格式错误,命令不可识别(此错误也包括命令行过长) '* 501 参数格式错误 '* 502 命令不可实现 '* 503 错误的命令序列 '* 504 命令参数不可实现 '* 211 系统状态

    TCP-IP详解卷一:协议

    TCP-IP详解卷一:协议 目 录 译者序 前言 第1章 概述 1 1.1 引言 1 1.2 分层 1 1.3 TCP/IP的分层 4 1.4 互联网的地址 5 1.5 域名系统 6 1.6 封装 6 1.7 分用 8 1.8 客户-服务器模型 8 1.9 端口号 9 1.10 标准化过程...

    TCP_IP协议详解卷一

    2.2 以太网和IEEE 802封装 15 2.3 尾部封装 17 2.4 SLIP:串行线路IP 17 2.5 压缩的SLIP 18 2.6 PPP:点对点协议 18 2.7 环回接口 20 2.8 最大传输单元MTU 21 2.9 路径MTU 21 2.10 串行线路吞吐量计算 21 2.11 小结 ...

    TCP-IP详解卷1:协议

    《TCP/IP详解,卷1:协议》(共3卷,其他卷请到我的空间下载)是一本完整而详细的TCP/IP协议指南。描述了属于每一层的各个协议以及它们如何在不同操作系统中运行。作者用Lawrence Berkeley实验室的tcpdump程序来捕获...

    网络应用程序设计.docx

    RFC822 (7) 接收电子邮件的邮局协议是 POP3 (8) 因特网上使用最多的一种应用是 email (9) SMTP命令的一般的格式命令关键字参数<CRLF> (10) SMTP客户问候SMTP服务器命令格式是 HELO 发送方的主机名<CRLF> ...

    TCPIP详解(卷1协议)

    《TCP/IP详解,卷1:协议》是一本完整而详细的TCP/IP协议指南。描述了属于每一层的各个协议以及它们如何在不同操作系统中运行。作者用Lawrence Berkeley实验室的tcpdump程序来捕获不同操作系统和TCP/IP实现之间传输...

    TCP/IP详解卷1:协议

    2.2 以太网和IEEE 802封装 15 2.3 尾部封装 17 2.4 SLIP:串行线路IP 17 2.5 压缩的SLIP 18 2.6 PPP:点对点协议 18 2.7 环回接口 20 2.8 最大传输单元MTU 21 2.9 路径MTU 21 2.10 串行线路吞吐量计算 21 2.11 小结 ...

    TCP-IP详解.卷三:TCP事务协议,HTTP,NNTP和UNIX域协议

    2.2 以太网和IEEE 802封装 15 2.3 尾部封装 17 2.4 SLIP:串行线路IP 17 2.5 压缩的SLIP 18 2.6 PPP:点对点协议 18 2.7 环回接口 20 2.8 最大传输单元MTU 21 2.9 路径MTU 21 2.10 串行线路吞吐量计算 21 2.11 小结 ...

    TCPIP协议详解(4-1)

    ARP和RARP 41 5.1 使用地址 41 5.1.1 子网寻址 41 5.1.2 IP地址 43 5.2 使用地址解析协议 44 5.2.1 ARP cache 45 5.2.2 代理ARP 47 5.2.3 反向地址解析协议 47 5.3 使用ARP命令 47 5.4 ...

Global site tag (gtag.js) - Google Analytics