怎么样在命令行下收发邮件?
怎么样在命令行下收发邮件?
今天,看到网上介绍说用命令行下来收发邮件,因此具体写一下过程.
收邮件:
-
打开“开始”菜单中的“运行”对话框,输入命令telnet及远程服务器端口号,如:
telnetpop3.163.com110就会与“网易163免费邮”的pop3服务器pop3.163.com建立连接。 -
如果上述连接成功,POP3服务器就会回应如下信息(显示在终端上):
+OKWelcometocoremailMailPop3Server(163com[20050206]) -
usergreenerycn如果该用户名登录成功,POP3服务器会响应如下信息:
+OKcoremail -
输入密码passpassword如果成功,终端会显示如下信息:
+OK5message(2267octets)
其中数字5表示有5封邮件,2267表示这5封邮件总的字节数(即2267B),
然后有以下命令可以使用,其命令格式及参数说明如下:
1.stat命令格式:stat无需参数
2.list命令格式:list[n]参数n可选,n为邮件编号
3.uidl命令格式:uidl[n]同上
4.retr命令格式:retrn参数n不可省,n为邮件编号
5.dele命令格式:delen同上
6.top命令格式:topnm参数n,m不可省,n为邮件编号,m为行数
7.noop命令格式:noop无需参数
8.quit命令格式:quit无需参数
各命令的详细功能见下面的说明:
1、stat命令不带参数,对于此命令,POP3服务器会响应一个正确应答,此响应为一个单行的信息提示,它以“+OK”开头,接着是两个数字,第一个是邮件数目,第二个是邮件的大小,如:+OK41603
2、list命令的参数可选,该参数是一个数字,表示的是邮件在邮箱中的编号,我们可以利用不带参数的list命令,获得各邮件的编号,并且每一封邮件均占用一行显示,前面的数为邮件的编号,后面的数为邮件的大校
3、uidl命令与list命令用途差不多,只不过uidl命令显示邮件的信息比list更详细,更具体,执行结果如图四。
4、retr命令是收邮件中最重要的一条命令,它的作用是查看邮件的内容,它必须带参数进行,该命令执行之后,服务器应答的信息比较长,其中包括发件人的电子邮箱地址,发件时间,邮件主题等,这些信息统称为邮件头,紧接在邮件头之后的信息便是邮件正文
5、dele命令是用来删除指定的邮件(注意:delen命令只是给邮件做上删除标记,只有在执行quit命令之后,邮件才会真正删除),删除的应答信息如图六所示.
6、top命令有两个参数,形如:topnmn为邮件编号,m是要读出邮件正文的行数,如果m=0,则只读出邮件的邮件头部分
7、noop命令,该命令发出后,POP3服务器不作任何事,仅返回一个正确响应"+OK"
8、quit命令,该命令发出后,telnet断开与POP3服务器的连接,系统进入更新状态。.
不过用这种方式查看google的邮件是编码,看不成中文.
dos 发信
1.计算用户名和密码的base64编码:http://lishiditu.008.net/base64.html
[ telnet smtp.163.com 25 //登陆 smtp.163.com 端口号为 25
220 163.com Anti-spam GT for Coremail System (163com[20050206])
HELO localhost // 与服务器打招呼,并告知客户端使用的机器名字,可以随便填写
250 OK
AUTH LOGIN //使用身份认证登陆指令
334 dXNlcm5hbWU6
YWJj //输入已经base64_encode()过的用户名.
334 UGFzc3dvcm
MTIzNDU2//输入已经base64_encode()过的密码
235 Authentication successful
MAIL FROM:<greenerycn@163.com> //告诉服务器发信人的地址
250 Mail OK
RCPT TO:<yourframe@21cn.com> //告诉服务器收信人的地址
250 Mail OK
DATA //正面开始传输信件的内容,且最后要以只含有 . 的特殊行结束。
354 End data with <CR><LF>.<CR><LF>
To:yourframe@21cn.com
From:redsos3@163.com
Subject:test mail
Test,# 邮件正文内容,与Header部分空一行开始写
test body
. # 邮件写完,以一个句点加回车结果。
250 Mail OK queued as smtp14,F0CPBFsuzUOvoDwE.41582S2
QUIT //断开连接
221 Bye
Connection closed by foreign host.