代码改变世界

关于telnet发送smtp邮箱的尝试

2012-09-04 15:41  VincentMK  阅读(12009)  评论(0编辑  收藏  举报

之前没有试过这种方式的邮件发送,今天正好碰到一些相关问题,所以研究了一下,遇到了很多问题,最终还是成功了。

完整过程如下,还是很有意思的。

下面的例子是用qq的smtp服务器。 

telnet smtp.qq.com 25
220 smtp.qq.com Esmtp QQ Mail Server
helo sis
250 smtp.qq.com
auth login
334 VXNlcm5hbWU6
***
334 UGFzc3dvcmQ6 ***
235 Authentication successful mail from: <350510376@qq.com> 250 Ok rcpt to: <350510376@qq.com> 250 Ok data 354 End data with <CR><LF>.<CR><LF> to: hello from: nian subject: this is a test telnet smtp mail hello,telnet . 250 Ok: queued as

做一些说明,可能遇到的问题是

1、首先telnet命令不存在,自己去百度下安装即可,很简单。

2、在和服务器通讯时 helo sis,回车后可能会出现【502 Error: command not implemented】,可以重新输入helo sis,或者helo 其他内容都可以,这边只是打个招呼。

出现上面的错误,多试几次即可,可能是服务器状态比较忙。
3、auth login后需要输入你的qq邮箱的用户名和密码,而且要转换为BASE64编码,随便找个百度应用都有这个功能。如QQ 352000114 用户名对应MzUwNTEwMzc2,

此过程可能也要多做几次,鉴于服务器的状态。

4、输入用户名和密码后出现如下错误【发送邮件错误 454 Authentication failed, please open smtp flag first!】,

这个是我纠结了好久的问题,解决方式如下:

在QQ邮箱的设置里面,找到账户-》POP3/IMAP/SMTP选择开启POP3/SMTP服务

5、to: hello  “邮件收件人的名称
from: nian ”邮件来源名称
subject: this is a test telnet smtp mail “主旨


hello,telnet ”内容

6、最后输入点,回车即结束邮件的发送

7、退出连接,可使用命令 quit

2012.09.04 雨