栏目分类
系统安全 | 服务器安全 | 网络安全 | 木马病毒 | 漏洞补丁 | 防火墙 | 系统安全 | 备份恢复 | 安全策略
系统优化 | 提速 | 优化性能 | 服务 | 清理垃圾
网络技巧 | 网络命令 | 网络技巧 | 网络访问 | 共享 | 网络管理
服务器技术 | Exchange | FTP服务器 | ISAServer | 域服务器 | Web服务器 | SQLServer | 其他服务器
系统技巧 | 系统管理 | 系统技巧 | 注册表 | 进程
windows新手入门 | 系统基础 | 网络基础 | 安装 | 技术前沿
系统故障 | 网络故障 | 开关机故障 | 系统故障 | 软件故障 | 当机故障
资讯动态
排行榜
·Telnet命令模式
·DHCP(动态主机配置协议)基本信息
·WindowsNT和2000的TCP/IP设置
·ping的作用
·妙用DNS控制学生上网
·TCP/IP基础:TCP与UDP
·传输模式研究:文件高速互传之FTP篇
·局域网架设之“傻瓜教程”(上)
·TCP/IP基础:ICMP协议
·DNS专题(5)---域名查询详述①
·TCP/IP基础:DHCP协议
·制作一张含有网络功能的dos启动盘
·远程控制软件pcAnywhere10.0试用手记
·FTP的建立与维护
·DNS专题(5)---域名查询详述②
·SSL和数字证书服务慨述(2)
·SMTP协议简介
·DNS专题(12)---诊断工具和实用程序④
·TCP/IP基础:TCP/IP简介
·WindowsXP中的命令行界面

    您现在的位置: Linux宝库 >> Windows >> windows新手入门 >> 网络基础 >> 文章正文
SMTP协议简介
Linux宝库 收集整理  作者:Linux宝库  时间:2007-12-31  收藏本站
来自:http://doc.linuxpk.com/38642.html
联系:linuxmine#gmail.com
分类:[网络基础]
  SMTP被用来在因特网上传递电子邮件。文件RFC821规定了该协议的所有细节。但是你只须记住下面的内容--该协议的基本命令和方法就行了。

  协议的原理很简单。无非是一个客户端计算机向服务器发送命令,然后服务器向客户端计算机返回一些信息。客房端发送的命令以及服务器的回应都是字符串,你并不需要特别的软件就能读出它们。如果你仔细看过Winsock Terminal示例程序的源代码,你就会发现这一点。现在让我们用这个示例程序来向自己发一封电子邮件吧。

  运行示例程序,单击"Connect"按钮,在"Connect to..."对话框中输入你的电子邮件服务器的地址,选择SMTP选项。最后按"Connect"按钮。如果连接成功,Winsock控件会产生Connected事件,在状态栏中也可看到连接成功的信息。在主文本窗口中你将看到从服务器返回的文本。该文本包含一个三位数的代码及描述,例如:

  220-ns.cinfo.ru Sendmail 8.6.12/8.6.9 ready at Wed, 22 Apr 1998 22:54:41 +0300

  220 ESMTP spoken here

  不必太过留意这些描述。因为这些描述可能会因服务器而异。你只须要知道代码所代表的意思就行了。代码220表示成功建立连接,服务器等待你的第一个命令。

  向服务器传递的第一个命令是HELO. 该命令包含一个参数,即你的邮箱名。

  HELO oleg

  注意: 在RFC821中,HELO是一个可选择性命令,如果服务器不要求该命令的话,你可以把它忽略掉。

  如果命令成功,服务器会返回一个代码为250的回应。下一步用MAIL FROM命令告诉服务器你想发一封邮件。该命令以发信人的邮件地址为参数。

  MAIL FROM: oleg@vbip.com

  发完命令后,如果服务器返回一个代码为250回应,你就可以向服务器发送RCPT TO命令了。该命令以收信人地址为参数,一看便知是告诉服务器你想将邮件发到收信人地址处。

  RCPT TO: somebody@domain.com

  如果你想将邮件发给多个收件人的话。你需要多次使用RCPT TO命令,对每个命令,服务器都会返回代码为250的回应。

  现在你可以向服务器发送邮件正文了。用DATA命令告诉服务器以下的内容为邮件正文。在你从服务器收到代码为354的回应后,你就可以发送邮件正文了。邮件按行发送,每行邮件以一个无回车的换行符结束(在VB中就是vbLf)示例程序知道何时使用换行符,何时使用回车加换行符。所以你只须按回车键就行了。下面是一个例子:

  Subject: My first e-mail message.

  First line of a message.

  Second line.

  .

  注意上面最后一行的最后一个字符是一个小数点。这是正文结束的标志。用VB代码表示就是vbLf & "." & vbCrLf. 服务器收到这个标志后,就会立即向你返回一个代码为250的回应以及该邮件的唯一ID号。

  250 WAA10568 Message accepted for delivery

  任务完成了,你可以继续发送下封邮件,也可以断开同服务器的连接。如果要断开同服务器的连接就用QUIT命令。在这种情况下,服务器会返回一个代码为221的回应并断开连接。

  QUIT

  221 ns.cinfo.ru closing connection

  
 
     最新更新
·浅析FTP的工作原理
·网络基础:电信(Telecommunication)
·网络基础:超越LAN之外---Internetworking(2)
·网络基础:超越LAN之外---Internetworking(1)
·网络基础:网路作业系统
·网络基础:通讯协议
·网络基础:网路管理模式
·网络基础:网络架构
·网络基础:连线材料
·网络基础:一些网络的名称
·TCP/IP基础:TCP/IP简介
·TCP/IP基础:TCP/IP工作模型
·DHCP(动态主机配置协议)基本信息
·个人Internet网站创建过程详解
·IP地址
·TCP/IP基础:DHCP协议
·TCP/IP基础:ICMP协议
·TCP/IP基础:TCP与UDP
·TCP/IP基础:IPRouting
·TCP/IP基础:IP位置
·TCP/IP基础:ARP协议
·网络基础:网路能做些什么﹖
·网络基础:什么是网络
·巧妙实现DHCP服务冗余
·WindowsNT和2000的TCP/IP设置
·TCP/IP子网教程
·DNS基础问答
·Win2000命令全集
·ping的作用
·WindowsXP中的命令行界面