SMTP服务扩展

来源:asp之家 时间:2010-03-16 18:48:00 

SMTP提供一种可靠的有效的传送机制,它用于传送电子邮件。虽然十几年来,它的作用已经有目共睹,可是对它功能的扩充也是必不可少的。对SMTP服务的扩展我们介绍一下:在SMTP转发的邮件中包括信封和内容这两种东西。我们写信也写信封和信皮,我们可以借生活中的信件来帮助理解。

(1)SMTP信封比较容易理解,它被作为一系列的SMTP协议单元传送,它包括发送者地址,传送模式,还有一个或多个接收者地址。如果有不清楚的地方,请参阅《SMTP协议标准》。

(2)至于内容,它是由两部分组成的,一部分是信头,一部分是信体,信头是由一个个的域/值对(一个域,一个值)组成的,如果信体有结构的话,它的结构是以MIME构造的。内容从根本上来说是文本的,一般也是由ASCII码构成的,但是由于使用了MIME,所以这个限制应该也是没有了,但信头却不行,一般都应该使用ASCII码表示。虽然SMTP协议是一个不错的协议,可是对它的扩展还是不可避免,本文主要说明了一种扩展方法,使用这种扩展方法,服务器和用户之间可以相互知道对方使用了扩展,使用了多少,如果进行通信。

这里我们希望让大家知道网络协议中的一个经验:参数越多,死得越快;参数越少,越能持久。参数太多了,根本不利于使用,无法推广,早晚会被别的协议取代。这也符合科学的基础原理,简单。这说明在实现时一定要小心,如果不小心会便得到的远远小于付出的,有时根本不能提供任何益处。

下面我们看一下EHLO命令,支持SMTP服务扩展的客户应该以EHLO命令开始SMTP会话,而不是通常的HELO命令。如果服务器也支持,那就返回确认响应,如果不支持就返回失败响应。因为引入了EHLO命令,因此会话开始的第一条命令可以是HELO或EHLO。

因此引入了新的参数,所以SMTP的MAILFROM和RCPTTO命令行长度也能再是512字节了,但是引入新参数的长度必须加以说明,以便实现者准备缓冲区。

命令格式如下:

ehlo-cmd ::= "EHLO" SP domain CR LF

在命令成功是,服务器返回代码250,如果失败返回代码550,如果出错,返回500,501,502,504或421。对比《SMTP协议标准》,EHLO命令可以出现在任何HELO命令出现的地方,在成功发送一个HELO或EHLO命令后再次发送它会使服务器返回503。客户这时不能缓存服务器返回的任何信息。这里一定要注意的是,每次开始SMTP扩展服务会话的时候必须发送EHLO命令。如果服务器能够处理EHLO命令,它会返回代码250。这样,服务器和客户就处于初始状态了,也就是说,所有的状态表和缓冲区已经准备完毕。通常这种响应是多行的,每行响应包括一个关键字,如果有的话,还有一个或多个参数,响应的语法如下:

ehlo-ok-rsp ::= "250" domain [ SP greeting ] CR LF

                             / ( "250-" domain [ SP greeting ] CR LF

                             *( "250-" ehlo-line CR LF )

                            "250" SP ehlo-line CR LF )

greeting ::= 1*<除了CR 或LF的所有字符>

ehlo-line ::= ehlo-keyword *( SP ehlo-param )

ehlo-keyword ::= (字母/数字) *(字母/数字/"-")

ehlo-param ::= 1*<随了空格和控制字符外的字符>

ALPHA ::= <大写A到Z,小写A到Z>

DIGIT ::= <0到9>

CR ::= <回车,ASCII码13>

LF ::= <换行,ASCII码10>

SP ::= <空格,ASCII码32>

 

虽然EHLO关键字可以是大写,小写,大小写混合的,但是对它的处理是大小写敏感的,这是与原来规定不同的。IANA支持SMTP服务扩展注册,相对于每个扩展都有一个相应的EHLO关键字值,每个在IANA注册的服务扩展必须在一个RFC中定义。如果一个关键字以X开头,它指的是这个服务扩展是双方约定的,不是标准的。

标签:smtp,服务,命令
0
投稿

猜你喜欢

  • CentOS设置精准时间的方法

    2023-07-28 15:05:55
  • wordpress上传RAR附件提示出错解决方法

    2011-06-08 18:49:00
  • 百度i贴吧另类推广日IP过千-淘宝客收入过千

    2010-03-07 15:49:00
  • V5shop网络联盟系统:网商应突破平台壁垒 盈利为王

    2009-11-20 09:45:00
  • 首个国家网络电视台开建 支持网民原创作品上传

    2009-10-14 10:11:00
  • 小内存VPS跑wordpress专用lanmp一键安装包damnp.sh

    2011-04-29 12:27:00
  • Godaddy忘记密码,怎么找回账户密码

    2010-04-21 12:59:00
  • 一句话式知识 网站吸引链接的三十招技巧

    2009-01-20 13:50:00
  • 中关村寻宝:中国式管理书籍为何被放在小角落?

    2009-10-23 09:44:00
  • 用xshell连接VMware中的Linux的方法步骤(2种)

    2021-03-05 17:25:05
  • 网站进行SEO优化的正确方法

    2009-01-12 01:00:00
  • apache下面二级目录部署react/vue的方法

    2023-08-05 00:08:22
  • 应用:基于Unix的Web服务器安全指南

    2009-07-23 20:00:00
  • 网络传言谷歌将撤走中国境内服务器

    2009-10-24 13:58:00
  • WordPress/Nginx/PHP/MySQL最省资源的一键安装包

    2010-08-02 12:29:00
  • 中国asp之家的GG PR今天更新了

    2007-10-28 18:01:00
  • 谷歌操作系统打破微软垄断 相互渗透核心业务

    2009-11-22 09:41:00
  • 老谢:网站推广3个要点分析

    2009-04-18 17:33:00
  • 18个最有价值的WordPress SEO插件

    2011-04-11 19:05:00
  • 域名转出成功(从商务中国转到GoDaddy)

    2009-03-22 15:27:00
  • asp之家 网站运营 m.aspxhome.com