SMTP服务扩展(2)
来源:asp之家 发布时间:2010-03-16 18:48:00
如果出于某种原因,服务器不能列出它所支持的服务扩展,就返回代码554。在接收到这个代码后,客户要么发送HELO,要么发送QUIT命令。有时候服务器接收到EHLO命令,可是命令参数不可接受,它就返回代码501。如果服务器识别了EHLO,但对服务器扩展未实现,则返回代码502。如果服务器不再提供服务扩展,则返回代码421。在接收到这个代码后,客户要么发送HELO,要么发送QUIT命令。如果服务器不支持服务扩展,则返回500,服务器保持现有状态,在接收到这个代码后,客户要么发送HELO,要么发送QUIT命令。
有时候,SMTP服务器会在接收到EHLO命令后因为某种原因关闭连接,这种情况在原来的SMTP协议标准中未涉及。为了处理这种情况,客户必须能够确认服务器是否能够工作,它可以重新连接并发送HELO或EHLO命令。有些服务器在接收到一个EHLO命令后会拒绝接收新的HELO命令,这时可以利用RSET命令重新启动,然后再发送HELO。如果客户不注意这样的小细节,会收到失败代码。
下面我们来看一下MAIL FROM和RCPT TO参数。许多服务扩展是在MAIL FROM和RCPT TO命令后加入一些参数来实现的。下面我们看一下这两个命令的格式:
esmtp-cmd ::= inner-esmtp-cmd [SP esmtp-parameters] CR LF
esmtp-parameters ::= esmtp-parameter *(SP esmtp-parameter)
esmtp-parameter ::= esmtp-keyword ["=" esmtp-value]
esmtp-keyword ::= (字母/数字) *(字母/数字/"-")
esmtp-value ::= 1*<除了空格,"="和控制字符的所有字符>
inner-esmtp-cmd ::= ("MAIL FROM:"返回路径) / ("RCPT TO:"转发路径)
如果服务器不能识别或实现一个或多个MAIL FROM或RCPT TO参数,它应该返回代码555。如果这种情况只是暂时的,服务器返回代码455。其它返回代码请查阅相关资料,这里不再详述了。服务器以服务扩展处理时,它处理的任何信息都应该在包头上加上“服务扩展标记”以示区别。
下面是一个例子:
(1) 双方交互:S是服务器,C是客户。
S: <等待连接在TCP端口25>
C: <连接到服务器>
S: 220 dbc.mtview.ca.us SMTP service ready
C: EHLO ymir.claremont.edu
S: 250 dbc.mtview.ca.us says hello
...
(2) 下面也是一个例子:
S: <等待连接在TCP端口25>
C: <连接到服务器>
S: 220 dbc.mtview.ca.us SMTP service ready
C: EHLO ymir.claremont.edu
S: 250-dbc.mtview.ca.us says hello
S: 250-EXPN
S: 250-HELP
S: 250-8BITMIME
S: 250-XONE
S: 250 XVRB
...
这说明服务器实现了服务扩展EXPN和HELP,这两个是标准的服务扩展,另外两个以X开头的是非标准的。
(3) 最后,我们来看看服务器不支持服务扩展时的情况:
S: <等待连接在TCP端口25>
C: <连接到服务器>
S: 220 dbc.mtview.ca.us SMTP service ready
C: EHLO ymir.claremont.edu
S: 500 Command not recognized: EHLO
...
代码500表示服务器不支持服务扩展。


猜你喜欢
- 服务器换了Win2003后,发现上传的附件如果超过204800字节后,系 统出错。这是因为win 2003默认上传字节为204800原因所致
- 裸设备,也叫裸分区(原始分区),是一种没有经过格式化,不被Unix通过文件系统来读取的特殊字符设备。本文收集裸设备和Oracle问答20例。
- 1、御载以前的版本yum remove docker docker-client docker-client-latest docker-c
- 今天早上相当郁闷,打开电脑然后在服务里面启动Apache服务器,结果它显示说“本地计算机上的APACHE服务启动后又停止了.一些自动停止,如
- 对于一般的CMS用户,CMS系统默认的标签封装的越完整,使用越简单越受欢迎,但如果是个性化数据调用需求较多的用户,通常都会感觉系统内置的标签
- 网站新开一个月,遇到很多问题,和大家谈谈,注我们用的是windows主机 100G的那种 我们网站就不贴出来了,免得说我做广告。第一个问题是
- 走过的路,回忆起来是那么曲折,把自己的一些心得体会分享给程序员兄弟姐妹们,虽然时代在变化,但是很可能你也会走我已经做过的10年的路程,有些心
- 有GoDaddy主机用户问如何使用File Manager的幻灯片,其实很简单的,File Manager里的幻灯片特征在一个幻灯片里显示了
- 前期,做单位一个专题网页,里面需要插入一段视频。视频格式是wmv,就想用目前流行FLV格式来播放。因为对Flash比较陌生,所以比较辛苦,记
- 今天我们公司开始上班了,又投入到了紧张的工作状态中,接下来的每天都是密切的关注这搜索引擎的动静以及公司那些网站的最近情况。其实说实话,企业网
- 前言好多人问我,这种基于大数据平台的xxxx的毕业设计要怎么做。这个可以参考之前写得关于我大数据毕业设计的文章。这篇文章是将对之前的毕设进行
- “政府扩大内需,不一定要把资金都投到‘铁公机’传统基础设施上,投入到电子商务方面效果可能更明显。”中国经济时报社社长兼总编辑包月阳表示,在这
- 时间过的真快,不知不觉大二的生活块接近尾声啦,跟着站长站Chinaz的前辈学习时间也有6个多月啦,在这里也写写自己的网赚历程吧,本人第一次写
- 什么是htaccess 概述来说,htaccess文件是Apache服务器中的一个配置文件,它负责相关目录下的网页配置。通过htaccess
- 之前,提到了地方网站的文化建设《地方网站,亮出你的文化“剑”》。如若说文化品牌的建设彰显的是地方网站
- 搜索引擎优化(Search Engine Optimization,SEO),也就是针对各种搜索引擎的检索特点,让网站建设和网页设计的基本要
- 坦白说,笔者只有少于十分一时间关注IT新闻,一向对于‘网路狂人’马云的认识只是皮毛,直至在韩国釜山采访APEC之后,才认认真真看关于马云的书
- 将当前位置的“主页”字样,改为“你自己的网站名称”。这虽然是很小的事情,但首先它增强了网站的内链接,而且在文本链接中出现“网站名称”主关键字
- 这几天着实为sql注入漏洞伤了神,网上的代码好多不是很深奥就是麻烦。终于找到了万能防注代码,分享了,呵呵 。操作简单上手,只要来个包含或放入
- 博客程序,特别是WordPress,Zblog等等因为页面结构简单轻量,文章相关度粘性强,所以很适合针对搜索引擎的优化。那么我们要做的就是发