使用telnet进行发送邮件

来源:互联网 发布:node throw err 编辑:程序博客网 时间:2024/05/01 06:37

最近在上计算机网络的应用层,老师上课的时候在课堂上演示用telnet结果失败了,课下自己捣鼓了半天,终于弄出来,其中不乏很多百度,谷歌的东西,总结如下吧。

    首先电脑确定装了telnet,我用的win 7系统,有可能有的人的电脑可能没有装,没装的去百度谷歌一下就知道了。cmd打开命令行,输入telnet进入telnet界面.

    输入?/help可以看到我们有许多选项,这里我们要选择连接到主机,也就是o(open的意思),因为我们这里做的是邮件的发送,现在的邮件一般都是遵循SMTP协议,端口号是25,所以输入:

    这里我要用qq邮箱进行发送邮件,所以要连接到qq的邮件服务器,如果你想用163的邮箱,改为smtp.163.com 25,其他的邮件服务器类似。

    这里有几个SMTP的命令要介绍:

SMTP COMMANDCommandDescribe Reply CodeHELO message
像服务器打招呼250MAIL FROM: <host>在主机上初始化一个会话250RCPT TO: <user>  指明收件方250QUIT终止邮件会话221DATA开始信息写作354AUTH LOGIN确认登陆信息(需要base64编码用户名和密码)334  VXNlcm5hbWU6  
334 UGFzc3dvcmQ6

 

  下面就可以进行试验了。

一、首先输入HELO跟服务器打个招呼:

           helo test

        返回  250 smtp.qq.com

二、输入auth login输入账号和密码

    这里有一个网站是base64加解密的:加解密

    输入auth login后服务器会返回:334 VXNlcm5hbWU6   输入用户名的base64编码

      接着服务器返回:334 UGFzc3dvcmQ6   输入密码的base64编码

    这时候有可能返回一个结果如下:454 Authentication failed, please open smtp flag first!

    这是由于自己qq邮箱没有打开SMTP服务的缘故,如果此时有挂着QQ的话,应该会受到一封邮件,表示要去邮箱里面进行设置。在邮箱设置里面账户选项上

    POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务 勾选前两项即可。

三、输入mail from: <abcdefghi@qq.com>

    返回250

四、输入rcpt to:<abcdefghi@163.com>

    返回250

   (注意上面两步有时候会报格式错误,去掉尖括号即可,不知道为啥有时候要尖括号,有时候不要)

五、输入data,进行输入主题文字

    键入以下命令以添加主题行:
    Subject: test message
    然后按两次 Enter 键。
    该命令看不到任何响应。备注: 两个 Enter 命令符合 RFC 822 规则,即 822 命令后必须跟空行。
    键入以下命令来添加邮件正文:
    This is a test message
    您将看不到来自该命令的响应。
    在紧接着的空行处键入句号,然后按 ENTER 键。
    您应看到如下响应:250 OK

六、输入quit命令

    收到如下回应:221 closing connection


    至此,大功告成,可以去邮箱查看已发邮件和已收邮件,关于更多smtp的命令,网上有很多,这里只是一个简单的发送邮件例子,因为折腾比较久。这里还有一篇百度经验的文章也挺有用的,可以作为参考怎样使用telnet发中文邮件

原创粉丝点击