转自:【http://blog.163.com/alan_zheng/blog/static/2048661192012430102650960/】
telnet smtp.126.com 25 //登陆126.com邮件服务器
220 126.com Anti-spam GT for Coremail System (126com[20090903])
//登陆服务器后的显示......
HELO Hi //打个招呼
250 OK
auth login //使用身份认证登陆指令
334 dXNlcm5hbWU6 //服务器返回要求输入用户名
//dXNlcm5hbWU6其实是username:
//经过64位编码过后的表现形式
d2VpeHVuNDVAMTI2LmNvbQ== //输入已经base64_encode()过的用户名
334 UGFzc3dvcmQ6 //服务器返回要求输入密码
//UGFzc3dvcmQ6就是 Password:
abcdefg= //输入已经base64_encode()过的密码
235 Authentication successful //服务器表明身份认证成功,下面就可以发送邮件了
//如果认证错误 需要重新输入auth login进行上面的认证
mail from:<weixun45@126.com> //告诉服务器发信人的地址
250 Mail OK
rcpt to:<simple_best@126.com> //告诉服务器收信人的地址
250 Mail OK
data //输入发送数据的命令
354 End data with <CR><LF>.<CR><LF>
subject: hello my first smtp test //输入邮件的主题
//注意格式:主题过后一定要换一行, 不然会被当成内容发送
good good study day day up //发送的内容
. //以一点结束 开始传输邮件
250 Mail OK queued as smtp7,DsmowKDrf5vP9alMeNmtAw--.45722S2 1286207115
// 服务器返回, 表明邮件以成功的放到发送队列里 进行发送了
quit //断开连接
221 Bye
---------------------------------------------------------------------------------------------------------------------
附:
SMTP的基本命令集:
HELO 向服务器标识用户身份
MAIL 初始化邮件传输mail from: <xxx>
RCPT 标识单个的邮件接收人;常在MAIL命令后面可有多个rcpt to: <xxx>
DATA 在单个或多个RCPT命令后,表示所有的邮件接收人已标识,初始化数据传 输,以.结束
NOOP 无操作,服务器应响应OK
RSET 重置会话,当前传输被取消
QUIT 结束会话
---------------------------------------------------------------------------------------------------------------------
状态码说明:
220 : 服务就绪
250 :请求邮件动作正确,完成(HELO,MAIL FROM,RCPT TO,QUIT 指令执行成功会返回此信息)
235 :认证通过
221 :正在处理
354 :开始发送数据,结束以 .(DATA指令执行成功会返回此信息)
500 :语法错误,命令不能识别
550 :命令不能执行,邮箱无效
552 :中断处理:用户超出文件空间