邮箱命令行详解
发送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客户端程序的网络链接。