您的位置:首页 > 编程语言 > PHP开发

使用telnet登陆smtp服务发邮件(带身份验证)

2007-12-30 13:14 435 查看
这几天做邮件发送的小程序,顺便查了一下为什么126、gmail等smtp邮件服务器,都不能使用实验课上的smtp指令发送邮件,当时根据返回信息,只知道服务器需要身份认证。

今天终于找出了telnet 登陆带身份认证的SMTP服务器的方法。

提供一个Base64编码的网址http://www.motobit.com/util/base64-decoder-encoder.asp

具体过程如下:
Microsoft Telnet/> open smtp.126.com 25
220 126.com Anti-spam GT Coremail System (126com[071018])
HELO mail.126.com
250 OK
AUTH LOGIN //使用身份认证登陆指令
334 dXNlcm5hbWU6
kjihgfedcba== //输入已经base64_encode()过的用户名.
334 UGFzc3dvcmQ6
abcdefghijk== //输入已经base64_encode()过的密码
235 Authentication successful
MAIL FROM:<yaochengxiang@126.com> //告诉服务器发信人的地址
250 Mail OK
RCPT TO:<yaochengxiang@gmail.com> //告诉服务器收信人的地址
250 Mail OK
DATA

354 End data with <CR><LF>.<CR><LF>
To:yourframe@162.com //在邮件中显示的收件人地址
From:Iamahacker@gmails.com //在邮件中显示的发件人地址
Subject:test mail //邮件主题,然后两次回车

Hello Yaos

. //结束传输信件
250 Mail OK queued as smtp14,F0CPBFsuzUOvoDwE.41582S2
QUIT //断开连接
221 Bye
Connection closed by foreign host.

状态码说明:

220 : 服务就绪

250 :请求邮件动作正确,完成(HELO,MAIL FROM,RCPT TO,QUIT 指令执行成功会返回此信息)

235 :认证通过

221 :正在处理

354 :开始发送数据,结束以 .(DATA指令执行成功会返回此信息)

500 :语法错误,命令不能识别

550 :命令不能执行,邮箱无效

552 :中断处理:用户超出文件空间
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: