SMTP 命令

SMTP 命令

SMTP 命令包括:

HELO 向服务器标识用户身份。发送者能欺骗,说谎,但一般情况下服务器都能检测到。

EHLO 向服务器标识用户身份。发送者能欺骗,说谎,但一般情况下服务器都能检测到。

MAIL FROM 命令中指定的地址是发件人地址

RCPT TO 标识单个的邮件接收人;可有多个 RCPT TO;常在 MAIL 命令后面。

DATA 在单个或多个 RCPT 命令后,表示所有的邮件接收人已标识,并初始化数据传输,以 CRLF.CRLF 结束

VRFY 用于验证指定的用户/邮箱是否存在;由于安全方面的原因,服务器常禁止此命令

EXPN 验证给定的邮箱列表是否存在,扩充邮箱列表,也常被禁用

HELP 查询服务器支持什么命令

NOOP 无操作,服务器应响应 OK

RSET 重置会话,当前传输被取消

QUIT 结束会话

*******************************************************************************

例如:连接sohu邮件服务器(蓝色字体内容由客户端输入,红色字体内容是服务返回的)

C:\Documentsand Settings\Administrator>telnet smtp.sohu.com 25---------连接服务器 25 端口

220 zwwww03 ESMTP ready                           ---------服务器响应

helo yangtao                                             ---------向服务器标识用户身份,发信不要认证

250 zwwww03                                         ---------服务器对标识用户身份的响应

【ehlo haha                         】           ---------ESMTP命令,发信需要认证。

【250-zwwww01                】          

【250 AUTH PLAIN LOGIN】

auth login                                                 ---------进行用户身份认证

334 VXNlcm5hbWU6                                ---------服务器响应:VXNlcm5hbWU6解码后为“username:”

aGFoYXl0YW9Ac29odS5jb20=                  ---------经过base64编码的用户名

334 UGFzc3dvcmQ6                                 ---------服务器响应:UGFzc3dvcmQ6解码后为“password:”

eWFuZzEyMjg=                                        ---------经过base64编码的密码

235 2.0.0 OK                                            ---------身份认证成功

【535 5.7.0 Invalidlogin or password】---------身份认证失败

mail from:              ---------mail from 地址[email protected] 真实。

250 2.1.0 Ok                                            ---------命令执行成功

rcpt to:<[email protected]       >                   ---------递送给地址[email protected]真实。

250 2.1.5 Ok                                            ---------命令执行成功

data                                                         ---------数据传输初始化

354 End data with .  ---------服务器响应,提示数据输入以“.”结束

from:[email protected]                                ---------输入邮件发送人,可欺骗

to:[email protected]                              ---------输入邮件接收人

date:Mon, 25 Oct 2004 14:24:27 +0800              ---------输入邮件时间

Subject: test mail                                       ---------输入邮件主题

                                                               ---------空一行输入邮件正文

HelloWorld!                                              ---------输入邮件正文内容

Hhhh                                                       

.                                                              ---------以“.”结束数据传输

250 2.0.0 Ok: queued as 3C8CF699F8D      ---------命令执行成功

Quit                                                         ---------断开和服务器的连接

221 2.0.0 Bye                                           ---------服务器返回断开响应

失去了跟主机的连接。

 

C:\Documentsand Settings\Administrator>

*******************************************************************************

auth=loginplain意思是认证方式包括login和plain方式

一般的邮件客户端都使用login方式认证,netscape的使用plain认证方式。

另外还有md5等认证方式,

login认证的时候,为了防止用户名和密码明文传输,使用base64加密传输的信息

*******************************************************************************

连接 快速邮(Ksemail)邮件系统 使用SMTP 命令发送邮件

例如:安装 快速邮(Ksemail)邮件系统 的邮件服务器IP是172.16.10.254 (蓝色字体内容由客户端输入,红色字体内容是服务返回的)

 

telnet172.16.10.254 25 --------------------------------------- 使用 telnet 命令连接服务器 25 端口

Trying172.16.10.254 ... --------------------------------------- 正在连接服务器 25 端口

Connectedto 172.16.10.254 . ----------------------------------- 连接服务器 25 端口成功

220ksemail.com Ksemail Mail Server 5.2 Build 041201 (Database-MySQL) ESMTP Ready.http://www.ksemail.com ------------------------ 显示服务器的标识名称

heloksemail.com ------------------------------------------------ 向服务器标识用户身份,发信不要认证,跳过下面几步直接发送 mail from 命令

250ksemail.com

ehloksemail.com ------------------------------------------------ ESMTP 命令,发信需要认证。

250-ksemail.com

250-PIPELINING

250-AUTH=LOGINPLAIN

250-AUTHLOGIN PLAIN

250-SIZE20480000

2508BITMIME

authlogin ------------------------------------------------- 进行用户身份认证

334VXNlagffdfcmdf5hbWU6

Ysdf29zdGFAsdfYW1hedfsadfGl0Lm5ldA==----------------------------------- BASE64 加密后的用户名

334UaGFzac3asdfdvcmQ6

aMdTk4adfMadfadfjIxNA==----------------------------------------------- BASE64 加密后的密码

235 authsuccessfully -------------------------------------- 身份认证成功

(535 authfailure ------------------------------------------ 身份认证失败)

发到本系统中域名下的账户可跳过身份认证。

mailfrom: ------------------------------ mail from 地址[email protected]

250 ok----------------------------------------------------- 命令执行成功

rcpt to:-------------------------------- 递送给地址[email protected]

250 ok----------------------------------------------------- 命令执行成功

data------------------------------------------------------- 数据传输初始化

354 goahead ----------------------------------------------- 开始传输数据

From:[email protected]

To:[email protected]

Date:Mon, 25 Oct 2004 14:24:27 +0800

Subject:test mail

 

Hi, test2

This is atest mail, you don't reply it.

 

.

------------------------------------------------------------数据内容,包括BASE64加密后的邮件内容, 以CRLF.CRLF 结束数据传输

250 okmessage accepted for delivery ----------------------- 命令执行成功

quit------------------------------------------------------- 结束会话

221Ok,close

Connectionclosed by foreign host .------------------------- 断开连接

你可能感兴趣的:(VC,概念性东西)