SMTP协议简介
来源:asp之家 发布时间:2010-03-16 18:30:00
SMTP被用来在因特网上传递电子邮件。文件RFC821规定了该协议的所有细节。但是你只须记住下面的内容--该协议的基本命令和方法就行了。
协议的原理很简单。无非是一个客户端计算机向服务器发送命令,然后服务器向客户端计算机返回一些信息。客房端发送的命令以及服务器的回应都是字符串,你并不需要特别的软件就能读出它们。如果你仔细看过WinsockTerminal示例程序的源代码,你就会发现这一点。现在让我们用这个示例程序来向自己发一封电子邮件吧。
运行示例程序,单击"Connect"按钮,在"Connectto..."对话框中输入你的电子邮件服务器的地址,选择SMTP选项。最后按"Connect"按钮。如果连接成功,Winsock控件会产生Connected事件,在状态栏中也可看到连接成功的信息。在主文本窗口中你将看到从服务器返回的文本。该文本包含一个三位数的代码及描述,例如:
220-ns.cinfo.ruSendmail8.6.12/8.6.9readyatWed,22Apr199822:54:41+0300
220ESMTPspokenhere
不必太过留意这些描述。因为这些描述可能会因服务器而异。你只须要知道代码所代表的意思就行了。代码220表示成功建立连接,服务器等待你的第一个命令。
向服务器传递的第一个命令是HELO.该命令包含一个参数,即你的邮箱名。
HELOoleg
注意:在RFC821中,HELO是一个可选择性命令,如果服务器不要求该命令的话,你可以把它忽略掉。
如果命令成功,服务器会返回一个代码为250的回应。下一步用MAILFROM命令告诉服务器你想发一封邮件。该命令以发信人的邮件地址为参数。
MAILFROM:oleg@vbip.com
发完命令后,如果服务器返回一个代码为250回应,你就可以向服务器发送RCPTTO命令了。该命令以收信人地址为参数,一看便知是告诉服务器你想将邮件发到收信人地址处。
RCPTTO:somebody@domain.com
如果你想将邮件发给多个收件人的话。你需要多次使用RCPTTO命令,对每个命令,服务器都会返回代码为250的回应。
现在你可以向服务器发送邮件正文了。用DATA命令告诉服务器以下的内容为邮件正文。在你从服务器收到代码为354的回应后,你就可以发送邮件正文了。邮件按行发送,每行邮件以一个无回车的换行符结束(在VB中就是vbLf)示例程序知道何时使用换行符,何时使用回车加换行符。所以你只须按回车键就行了。下面是一个例子:
Subject:Myfirste-mailmessage.
Firstlineofamessage.
Secondline.
.
注意上面最后一行的最后一个字符是一个小数点。这是正文结束的标志。用VB代码表示就是vbLf&"."&vbCrLf.服务器收到这个标志后,就会立即向你返回一个代码为250的回应以及该邮件的唯一ID号。
250WAA10568Messageacceptedfordelivery
任务完成了,你可以继续发送下封邮件,也可以断开同服务器的连接。如果要断开同服务器的连接就用QUIT命令。在这种情况下,服务器会返回一个代码为221的回应并断开连接。
QUIT
221ns.cinfo.ruclosingconnection
猜你喜欢
- 1 本机创建ssh密钥 ssh-keygen2 拷贝公共密钥到“被登陆机”输入密码,scp id_rsa
- WordPress是一款成熟的开源CMS平台,新推出的2.9版本依然保持了以往良好的口碑。这篇文章从WordPress 2.9的codex文
- QICMS商家联盟网站系统是QICMS官方推出的专门针对商家/店铺联盟、城市打折消费类网站建设而提供的专业网站系统,采用.NET 2.0 +
- Linux作为开放式的操作系统受到很多程序员的喜爱,很多高级程序员都喜欢编写Linux操作系统的相关软件。这使得Linux操作系统有着丰富的
- 其实我真的很纯洁!我是去搜索《足球尤物》这部电影。但居然被提示“"尤物" 已被 Google 筛选掉,因为启用了 Goo
- 今天继续介绍Godaddy常见问题之托管帐户上使用的是什么版本的ColdFusion。我们用的是Macromedia ColdFusion
- 为维持其“硬件+软件+服务”三合一连动发展的业务模式,IBM需要不断地推出新的概念来创造需求。IBM变得愈发令人难以捉摸了:我们看到的究竟是
- 石林在百度搜索“省通信管理局”的时候,本意是搜索“江苏省通信管理局”,但是本地人说起某个机构一般都会说“省某某某局”、“市某某某局”,所以和
- SEO就是品味美女的过程。这是本人闲暇之余弄出来的聊资,以供消遣。不管不是否认同我这谬论,请看完我的描述后在灌水,谢谢! &n
- 帝国cms是我们用得比较多得PHP的建站系统,在建站过程中,如果自己没有信息源,只能靠手工不断的重复copy和粘贴,这样费时费力,于是我们就
- vmware准备CentOS准备,这里下载的是CentOS 7.3 CentOS-7-x86_64-Everything-1611.iso创
- 先来看一份 docker-compose.yml 文件,不用管这是干嘛的,只是有个格式方便后文解说:version: '2'
- 在这个seo外链为王的时代,应该没多少人注重内链建设了,实际上不管是在百度还是在google,内链建设都非常重要。 本文着重讲述内链。随便列
- linux系统一切皆文件:1 linux文件系统将一切的设备映射为文件,一切以文件作为访问入口的,以文件的性质来进行open read wr
- 说明:Zabbix监控服务端已经配置完成,现在要使用Zabbix对交换机进行监控。具体操作:以下操作在被监控的交换机上进行,这里以Cisco
- 我觉得CF作为一个快速开发开发工具来说可以用最简洁的代码来实现各种效果.即使开发复杂的网站或电子商务之类的,也是非常灵活.此外用的人少也是一
- “在查看您的帐户时,我们注意到您目前在展示 Google 广告时所采用的方式不符合我们的政策。例如,我们发现在类似 URL的网页上有违反 A
- 昨日,有互联网资深人士在博客上透露,谷歌将会撤走在中国境内的所有服务器。这一消息在网上引发轩然 * ,因为如果撤走中国境内的所有服务器,基本上
- “关于《剑三》的联合运营,金山的确在和九城协商,不过具体上线还要看双方情况,2010年应该会有相关合作机会。”11月26日,金山网游COO湛
- 对于个人用户则是在手机或终端上安装ss,企业用户这样配置的话就比较麻烦,也不便于管理和维护。所以需要在网关处配置或内网的某台服务器上配置,并