SMTP命令

来源:互联网 发布:bp网络和神经网络区别 编辑:程序博客网 时间:2024/04/30 19:39

SMTP 命令

 

SMTP 命令包括:

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

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

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

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

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

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

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

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

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

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

QUIT 结束会话

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

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

C:/Documents and 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 Invalid login or password                                       ---------身份认证失败

mail from:<hahaytao@sohu.com>                                                           ---------mail from 地址hahaytao@sohu.com 真实.

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

rcpt to:<459716379@qq.com>                                                                ---------递送给地址459716379@qq.com 真实.

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

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

354 End data with <CR><LF>.<CR><LF>                                               ---------服务器响应,提示数据输入以"."结束

from:haha@haha.com                                                                            ---------输入邮件发送人,可欺骗

to:459716379@qq.com                                                                           ---------输入邮件接收人

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:/Documents and Settings/Administrator>

 

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

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

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

另外还有 md5 等认证方式,

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

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

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

telnet 172.16.10.254 25 --------------------------------------- 使用 telnet 命令连接服务器 25 端口

Trying 172.16.10.254 ... --------------------------------------- 正在连接服务器 25 端口

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

220 ksemail.com Ksemail Mail Server 5.2 Build 041201 (Database-MySQL) ESMTP Ready.

http://www.ksemail.com ------------------------ 显示服务器的标识名称

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

250 ksemail.com

ehlo ksemail.com ------------------------------------------------ ESMTP 命令,发信需要认证.

250-ksemail.com

250-PIPELINING

250-AUTH=LOGIN PLAIN

250-AUTH LOGIN PLAIN

250-SIZE 20480000

250 8BITMIME

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

334 VXNlagffdfcmdf5hbWU6

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

334 UaGFzac3asdfdvcmQ6

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

235 auth successfully -------------------------------------- 身份认证成功

(535 auth failure ------------------------------------------ 身份认证失败)

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

mail from: ------------------------------ mail from 地址test1@domain.com

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

rcpt to: -------------------------------- 递送给地址test2@domain.com

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

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

354 go ahead ----------------------------------------------- 开始传输数据

From: test1@domain.com

To: test2@domain.com

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

Subject: test mail

 

Hi, test2 This is a test mail, you don't reply it.

.

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

250 ok message accepted for delivery ----------------------- 命令执行成功

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

221 Ok,close Connection closed by foreign host .------------------------- 断开连接
 

原创粉丝点击