邮箱命令行详解

发送email:
telnet smtp.sina.com.cn 25  //打开连接 smtp端口默认为25

220 irja2-156.sinamail.sina.com.cn ESMTP
helo    localhost                             // 与服务器打招呼,并告知客户端使用的机器名字,可以随便填写
250 irja2-156.sinamail.sina.com.cn
auth login                                //使用身份认证登陆指令
334 VXNlcm5hbWU6                         //base64_decode()后为Username:
emNvb2wzMjFAc2luYS5jb20=                //输入已经base64_encode()过的用户名.
334 UGFzc3dvcmQ6                       //base64_decode()后为Password:
c3Nzc3Nzc3Nzc3Nz                        //输入已经base64_encode()过的密码
235 #2.0.0 OK Authenticated
mail from:<zcool321@sina.com>             //告诉服务器发信人的地址
250 sender <zcool321@sina.com> ok
rcpt to:<zcool321@sina.com>                //告诉服务器收信人的地址
250 recipient <zcool321@sina.com> ok
DATA                                //正面开始传输信件的内容,且最后要以只含有 . 的特殊行结束。
354 go ahead
To:zcool321@sina.com
From:zcool321@sina.com
Subject:test mail
From:zcool321@sina.com
data:test body
.                                    //结束传输信件
250 ok:  Message 272190231 accepted
quit                                    //断开连接
221 irja2-156.sinamail.sina.com.cn

状态码说明:
220 : 服务就绪
250 :请求邮件动作正确,完成(HELO,MAIL FROM,RCPT TO,QUIT 指令执行成功会返回此信息)
235 :认证通过
221 :正在处理
354 :开始发送数据,结束以 .(DATA指令执行成功会返回此信息)
500 :语法错误,命令不能识别
550 :命令不能执行,邮箱无效
552 :中断处理:用户超出文件空间

SMTP 命令:
HELO        客户端为标识自己的身份而发送的命令(通常带域名)
EHLO         使服务器可以表明自己支持扩展简单邮件传输协议 (ESMTP) 命令。
MAIL FROM    标识邮件的发件人;以 MAIL FROM: 的形式使用。
RCPT TO        标识邮件的收件人;以 RCPT TO: 的形式使用。
TURN        允许客户端和服务器交换角色,并在相反的方向发送邮件,而不必建立新的连接。
ATRN        ATRN (Authenticated TURN) 命令可以选择将一个或多个域作为参数。如果该会话已通过身份验证,则 ATRN 命令一定会被拒绝。
SIZE            提供一种使 SMTP 服务器可以指出所支持的最大邮件大小的机制。兼容的服务器必须提供大小范围,以指出可以接受的最大邮件大小。客户端发送的邮件不应大于服务器所指出的这一大小。
ETRN        SMTP 的扩展。SMTP 服务器可以发送 ETRN 以请求另一台服务器发送它所拥有的任何电子邮件。
PIPELINING    提供发送命令流(而无需在每个命令之后都等待响应)的能力。
CHUNKING    替换 DATA 命令的 ESMTP 命令。该命令使 SMTP 主机不必持续地扫描数据的末尾,它发送带参数的 BDAT 命令,该参数包含邮件的总字节数。接收方服务器计算邮件的字节数,如果邮件大小等于 BDAT 命令发送的值时,则该服务器假定它收到了全部的邮件数据。
DATA        客户端发送的、用于启动邮件内容传输的命令。
DSN            启用传递状态通知的 ESMTP 命令。
RSET        使整个邮件的处理无效,并重置缓冲区。
VRFY        确认在邮件传递过程中可以使用邮箱;例如,vrfy ted 确认在本地服务器上驻留 Ted 的邮箱。该命令在 Exchange 实现中默认关闭。
HELP        返回 SMTP 服务所支持的命令列表。
QUIT        终止会话。
 

查看邮件:
telnet pop3.sina.com.cn 110                //打开连接 pop3端口默认为110

+OK pop3 proxy server ready
user zcool321@sina.com                     //输入用户名.
+OK
pass 密码                                //输入密码.
+OK
stat                                    //查看邮件状态
+OK 512 66053386
list                                    //邮件list列表
+OK
1 30016
2 23504
3 25527
4 38095
5 52773
6 15209

list 15209  
-ERR 閭欢杩囧 - not that many messages

pop3命令:
user username    该命令是pop3邮件客户端与邮件服务器建立链接后通常发送的第一条命令,username是收件人的帐户名称
pass password     user成功登录后,pass命令用于传送用户明码
stat                    用于查询邮箱中的统计信息
uidl msg#           用于查询某封邮件的唯一标识符,msg#表示邮件的序号
list【msg#】       用于列出邮箱中的邮件信息msg#是不可选的参数,就是列出所有邮件,并列出序列
retr msg#           用于列出msg#所指的某封邮件的内容
dele msg#          删除msg#所指的邮件,pop3执行该命令时并不是真正把邮件删除,只有pop3客户端发出quit命令后,pop3服务器才真正删除所有设置了标记的邮件
rset                    用于清除所有邮件的删除标记
top msg# n        用于获取某封邮件的邮件头和邮件体中的前n行内容,n表示要返回的邮件的前n行内容
noop                  用于检测客户端与服务器的链接情况
quit                    结束邮件接收过程,pop3接收到此命令后删除所有设置标记的邮件,并关闭与pop3客户端程序的网络链接。

没有登录不能评论