SMTP邮件协议使用笔记
您现在的位置: 学网 >> 网络技术 >> 网络管理 >> 正文
学网教程

网络管理:SMTP邮件协议使用笔记

[ 来源:网络管理 | 作者:网络管理 | 时间:2007-7-20 | 去论坛]

 什么是 SMTP

SMTP (Simple Mail Transfer Protocol) : 电子邮件从客户机传输到服务器或从某一个服务器传输到另一个服务器使用的传输协议。 SMTP 是请求/响应协议,命令和响应都是基于 ASCII 文本,并以 CR 和 LF 符结束。响应包括一个表示返回状态的三位数字代码。SMTP 在 TCP 协议 25 端口监听连接请求。

什么是 ESMTP
ESMTP (Extended SMTP),顾名思义,扩展 SMTP 就是对标准 SMTP 协议进行的扩展。它与 SMTP 服务的区别仅仅是,使用 SMTP 发信不需要验证用户账户,而用 ESMTP 发信时,服务器会要求用户提供用户名和密码以便验证身份。验证之后的邮件发送过程与 SMTP 方式没有两样。


 
注:SMTP命令不是大小写敏感的,但是邮件地址是大小写敏感的。
HELO
初始化与邮件服务器的会话,可指定域名来标识用户身份
HELO mail.tttest.com
MAIL
指示发件人
MAIL FROM:admin@tttest.com
注:这里的名字不是发件人的姓名,而是收件人邮件回复的邮箱地址
RCPT
指示收件人
RCPT TO:admin@tttest.com
可以通过发送多个RCTP命令发给多人
DATA
指示开始实际的邮件内容传输。DATA 命令后输入的任何内容都被看做是邮件的一部分。而格式并没有任何限制。以一个英文单词加冒号开始的行一般被邮件程序看作是邮件头。以英文句号符号(.)开始的行被认为是邮件内容结束。
QUIT
结束会话
EXPN
指示你正在使用邮件列表
VRFY
验证给定的邮箱列表是否存在。多数邮件服务器并未实现,也常被防火墙禁用
EXPN
指示你正在使用邮件列表
NOOP
无操作,得到服务器应响应 OK
RSET
重置会话,当前传输被取消
SEND
发送消息到用户终端而不是收件箱
SAML
发送消息到用户终端与收件箱
SOML
如果用户已登录,发送消息到用户终端;否则发送消息到收件箱
TURN
调换客户端与服务器端的角色。可以用在客户端同时作为服务器并希望从远程机器收到邮件的情形
 

发送信件(mailing)和获得信件(sending)
SMTP 的主要目的是将邮件发送到用户的邮箱中。由一些主机提供的类似的功能是把邮件送至用户的终端(如果用户正打开终端)。将邮件送到用户的邮箱中称为发送信件 (mailing);而送至用户终端则称之为获得信件(sending)。因为在一些主机上,这两者的实现十分类似,所以它们同时被放入了SMTP中。然 而,获得信件命令在SMTP的最小实现中是没有的。用户应该具有控制向终端上写信息的能力。大部分主机允许用户接受或者拒绝类似的信息。
下面三个命令被定义来支持获得信件。它们被用于邮件命令而不是MAIL命令,指示接收SMTP这种操作的特殊意义:
> SEND FROM: <admin@tttest.com>
> SAML FROM: <admin@tttest.com>
> SOML FROM: <admin@tttest.com>


下面是一个典型的会话实例:

注:''>'' 行表示你发出的 SMTP 命令, ''<'' 行表示 mail 服务器的响应


 
>HELO mail.tttest.com
<250 smtp.tttest.com
 
>MAIL From: <admin@tttest.com>
<250 ok
 
>RCPT To: <test@tttest.com>
<250 ok
 
>DATA
<354 End data with <CR><LF>.<CR><LF>
 
>From: Michael
>Subject: SMTP demo
>This is line one.
>This is line two.
>.
<250 Ok: queued as 12DC0118
 
>QUIT
< 221 Bye Connection closed.

 
 
所有命令会收到服务器端返回的状态响应,它包含三位数字代码及文字描述。
 
响应代码:

211 -- A system status or help reply.


214 -- Help Message.
220 -- The server is ready.

221 -- The server is ending the conversation.

250 -- The requested action was completed.

251 -- The specified user is not local, but the server will forward the mail message.

354 -- This is a reply to the DATA command. After getting this, start sending the body of the mail message,            ending with "\r\n.\r\n."

421 -- The mail server will be shut down. Save the mail message and try again later.

450 -- The mailbox that you are trying to reach is busy. Wait a little while and try again.

451 -- The requested action was not done. Some error occurs in the mail server.

452 -- The requested action was not done. The mail server ran out of system storage.

500 -- The last command contained a syntax error or the command line was too long.

501 -- The parameters or arguments in the last command contained a syntax error.

1
学网·特别声明:
本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。本站所有文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题,请联系编辑人员Xababy#Gmail.com,我们尽快予以更正。
设为首页 - 收藏学网 - 关于学网 - RSS订阅 - 版权申明 - 友情链接 - 联系学网 - 网站地图 - 投稿学网
学网·2004-2008版权所有
© CopyRight 2004-2008 WwW.Xue5.CoM.Inc All Rights Reserved
合作、联系E-Mail:cainiaoo.cn#live.cn QQ:329700200,1103290
学网用户QQ群:51176706
学网_致力于提供提供电脑使用知识、软件操作知识以及互联网应用知识
陕ICP备05000834号