PersonalCorpus 版 (精华区)

发信人: avaya (avaya), 信区: Network
标  题: SMTP&POP命令详解(zz)
发信站: 哈工大紫丁香 (2002年10月29日08:17:25 星期二), 站内信件

【 以下文字转载自 Hacker 讨论区 】
【 原文由 Kermit 所发表 】
以前看到有朋友问到流光扫描到POP3服务器的用户名和密码应该怎么办??可以用OUTLOOK之
类的软件来帮别人收Email.但!!! 
1.用他们消耗的系统资源太大. 
2.使用前要进行各项设置!麻烦. 
3.我们要学更多的知识. 
所以,请大家往下看.看看如何用telnet来收发Email~ 
要说明的是.指令不分大小写.(用户口令除外) 
是不是因该先解释一下什么是SMTP什么是POP呀???算了.不说了.网上有很多介绍他们的文
章.都比我说的要好. 
好了不多废话了,让我们开始. 
没有发怎么收呀???我们用smtp服务器发一封Email先. 
telnet smtp.21cn.com 25//连接smtp服务器.端口是25 
220 21cn.com SMTP Server of AIMC 2.9.5.1; Mon, 25 Jun 2001 12:41:51 +0800//服务
器返回的信息 
HELO 
250 21cn.com, unknown.host<61.138.26.124> okay. 
MAIL FROM:stonegong@21cn.com//告诉服务器发件人的Email地址 
250 <stonegong@21cn.com>, sender ok. 
RCPR RO:stonegong@yeah.net//告诉服务器收件人的地址. 
250 User not local, will forward to <stonegong@yeah.net>.//OK!下面开始写信了~~
 
DATA//告诉服务器我们要开始写信了~~ 
SUBJECT:HELLO//subject后面填写的是邮件的主题.如果不需要主题可以直接输入内容. 
Hi: 
How are you? 
.//换行后输入.后按回车,表示信件内容书写完毕. 
250 Requested mail action okay, completed. 
QUIT//发送信件,结束对话,退出SMTP服务器.如果想取消发送可以用RSET命令. 
221 21cn.com closing connection.//好了,发完了. 

下面我们来用POP服务器收我们刚才发送的Email. 

telnet pop.yeah.net 110//还是要先连接.端口110 
+OK incore system mail POP3 Server ready 
user stonegong//告诉服务器我的用户名 
+OK core mail 
pass *********//这里的****代表你的密码.你输入的时候会明文显示.如果有人在旁边还
是先关掉回显吧~ 
+OK 1 message(s) [457 byte(s)]//看到了吗?有一封信呀~ 
list//让我们仔细看看. 
+OK 1 457 
1 457 
.//第一个475是所有邮件的总字节数,1后面的那个是第一封邮件的字节数.因为只有一封,
所以相等了. 
retr 1//返回第一封信的全部内容. 
+OK 457 octets 
Received: from 21cn.com (unknown [61.140.60.248]) 
by mx1.yeah.net (Postfix) with SMTP id E578D1CED4CAC 
for <stonegong@yeah.net>; Mon, 25 Jun 2001 12:49:17 +0800 (CST) 
Received: from unknown.host([61.138.26.124]) by 21cn.com(AIMC 2.9.5.1) 
with SMTP id jma3b36f1fc; Mon, 25 Jun 2001 12:43:27 +0800 
subject:HELLO 
hi: 
How are you? 
Message-Id: <20010625044917.E578D1CED4CAC@mx1.yeah.net> 
Date: Mon, 25 Jun 2001 12:49:17 +0800 (CST) 
From: stonegong@21cn.com 
.//看懂了吗??就是刚才发的那封~ 
dele 1//没用了,删了吧. 
+OK core mail 
list 
+OK 0 0 
.//看看没了吧~~但这时邮件并没有完全删除,要等到退出后在完全删除,如果现在想恢复可
以用REST n命令,n表示Email的编号. 
quit//没什么干的了.走吧~. 
+OK core mail 

以上是我telnet的LOG文件的全部内容.我加了注释,肯定都能看懂吧~~ 
写的比较匆忙.肯定有错别字了.自己慢慢理解吧~还有一些命令没有提到.不说了这些应该
够用了.如果想知道就 

看看下面,然后自己试试. 

如果上面有哪些命令你没有理解也可以看看下面这份命令详解. 
先说说SMTP服务器的. 
HELO:<地址> 
   利用HELO命令可以告诉SMTP服务器你的地址,<地址>一般为你的E-mail地址@后面的
部分。若你的电 

子邮件地址为: 
  someone@21cn.com,则<地址>就为21cn.com(我就什么也没输入.也可以的) 
  MAIL FROM:<发件人Email地址> 
   利用MAIL FROM命令输入收信者回复你时可用的电子邮件地址,一般为你的电子信箱
地址,但也可以是符合邮件地址格式的任意字符。 
  RCPT TO:<收信人的E-mail地址> 
   RCPT TO命令要求你输入收信人的电子邮件地址,可以用多个RCPT TO命令将邮件同时
发送给多个收信 

人。 
  VRFY:<某个Email地址> 
   VRFY命令将验证其后的电子邮件地址的正确性。一般可先利用VRFY命令对电子邮件地
址进行校验,再利用RCPT TO命令将邮件发送到该地址。这个命令我没试成功.可能是我的
命令用错了. 
  DATA 
   键入DATA后回车,即可开始输入邮件内容。如果在首行输入Subject:<主题内容><回
车>,则收信者可在主题或Subject栏将看到<主题内容>。否则,输入部分将作为邮件主体
(Body)部分的内容。结束信件内容输入,可顺序按<回车><.(句号)><回车>. 
  RSET 
   RSET命令将中止发信操作,删除输入内容。 
  QUIT 
   QUIT发送信件,结束对话,退出SMTP服务器。 

在说说POP的. 
USER <用户名> 
   用USER命令输入用户信箱名,<用户名>一般为用户电子邮件地址@前面的部分,如地
址为someone@21cn.com,则<用户名>为Someone,命令执行后将显示一些信息,并提示用户
输入密码。 
  PASS <密码> 
   用PASS命令输入用户信箱密码。 
  STAT 
   输入STAT命令,服务器将告诉用户共有多少封信件在信箱中。 
  LIST 
   显示信件个数、序号和每个信件的大小。 
  TOP n m 
   显示第n个信件前m行的内容。 
  RETR n 
   RETR命令可以显示第n个信件的全部内容。 
  DELE n 
   DELE命令用来删除指定的第n个信件。 
  REST n 
   REST命令可以恢复被删除的n个信件。 
  LAST 
   LAST命令可以显示下一个信件的编号。 
  NOOP 
   NOOP命令不执行任何操作,仅用来测试服务器的响应是否正常。 
  QUIT 
   QUIT退出POP3服务器,结束信件查阅过程。 
******************************************************************************
 
终于写完了.好高兴.不知对你有没有用.希望有吧~~如果有就请我吃饭吧~~哈哈~~ 
写代颜色的文章真的很不容易!! 

上文中有写笔误。 
下面是实例: 
telnet xxxx.xxxx.xxx 25 
mail from:test@263.net(谁的邮箱?我也不只到;) 
rcpt to:test@263.net 
data 
xxx 

quit 

如果想看服务器所支持的命令,可以telnet xxxx 25后用help命令察看 
如: 
telnet xxx.xxx.xxx 25 
help 
214-This is Sendmail version 8.9.3 
214-Topics: 
214- HELO EHLO MAIL RCPT DATA 
214- RSET NOOP QUIT HELP VRFY 
214- EXPN VERB ETRN DSN 
214-For more info use "HELP <topic>". 
214-To report bugs in the implementation send email to 
214- sendmail-bugs@sendmail.org. 
214-For local information send email to Postmaster at your site. 
214 End of HELP info 
呵呵, 
that'a all 
enjoy it:) 


pop3的命令集在rfc1939中说明 
我摘抄如下: 
9. POP3 Command Summary 

Minimal POP3 Commands: 

USER name valid in the AUTHORIZATION state 
PASS string 
QUIT 

STAT valid in the TRANSACTION state 
LIST [msg] 
RETR msg 
DELE msg 
NOOP 
RSET 
QUIT 

Optional POP3 Commands: 

APOP name digest valid in the AUTHORIZATION state 

TOP msg n valid in the TRANSACTION state 
UIDL [msg] 

POP3 Replies: 

+OK 
-ERR 

Note that with the exception of the STAT, LIST, and UIDL commands, 
the reply given by the POP3 server to any command is significant 
only to "+OK" and "-ERR". Any text occurring after this reply 
may be ignored by the client. 
一个完整实例: 
S: <wait for connection on TCP port 110> 
C: <open connection> 
S: +OK POP3 server ready <1896.697170952@dbc.mtview.ca.us> 
C: APOP mrose c4c9334bac560ecc979e58001b3e22fb 
S: +OK mrose's maildrop has 2 messages (320 octets) 
C: STAT 
S: +OK 2 320 
C: LIST 
S: +OK 2 messages (320 octets) 
S: 1 120 
S: 2 200 
S: . 
C: RETR 1 
S: +OK 120 octets 
S: <the POP3 server sends message 1> 
S: . 
C: DELE 1 
S: +OK message 1 deleted 
C: RETR 2 
S: +OK 200 octets 
S: <the POP3 server sends message 2> 
S: . 
C: DELE 2 
S: +OK message 2 deleted 
C: QUIT 
S: +OK dewey POP3 server signing off (maildrop empty) 
C: <close connection> 
S: <wait for next connection> 





--

※ 来源:.哈工大紫丁香 http://bbs.hit.edu.cn [FROM: 211.155.255.130]
--
※ 转载:.哈工大紫丁香 bbs.hit.edu.cn.[FROM: 218.8.65.45]
[百宝箱] [返回首页] [上级目录] [根目录] [返回顶部] [刷新] [返回]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:3.598毫秒