使用telnet协议来收发邮件.docx
《使用telnet协议来收发邮件.docx》由会员分享,可在线阅读,更多相关《使用telnet协议来收发邮件.docx(12页珍藏版)》请在三一办公上搜索。
1、帮5买第一部分邮件传输协议SMTP(Simple Mail Transfer Protocol,简单邮件传输协议)定义了邮件客户端软件与SMTP服务器之间,以及两台SMTP服务器 间的通信规则。SMTP服务器之间的通信规则。SMTP协议中一共定义了 18条命令,发送一封电子邮件的过程通常只需要使用其中6条命令,表1中按照发送命令的 先后顺序列出了这6条命令,并描述了其语法格式及功能说明,其中,SP代表空格,CRLF代表回车和换行。SMTP命令及格式说明ehloehlo命令是SMTP邮件发送程序与SMTP邮件接收程序建立连接后必须发送 的第一条SMTP命令。参数domain表示SMTP邮件发送者
2、的主机名。ehlo命令用于替代传统SMTP协议中的helo命令auth如果SMTP邮件接收程序需要SMTP邮件发送程序进行认证时,它会向SMTP 邮件发送程序提示它所采用的认证方式,SMTP邮件发送程序接着应该使用这 个命令回应SMTP邮件接收程序,参数para表示回应的认证方式,通常是 SMTP邮件接收程序先前提示的认证方式。mailfrom:此命令用于指定邮件发送者的邮箱地址,参数reverse-path表示发件人的邮 箱地址。reptto:此命令用于指定邮件接收者的邮箱地址,参数 forword-path 表示接收者的邮 箱地址。如果邮件要发送多个接收者,那么应使用多条reptSPto命
3、令来分 别指定每一个接收者的邮箱地址。data此命令用于表示SMTP邮件发送程序准备开始传送邮件内容,在这个命令后面 发送的所有数据都将被当做邮件内容,直至遇到“CRLF.CRLF”标志符, 则表示邮件内容结束。quit此命令表示要结束邮件发送过程,SMTP邮件接收程序接收到此命令后,将关 闭与SMTP邮件发送程序的网络连接。对于SMTP邮件发送程序发送的每一条命令,SMTP邮件程序接收程序都将回应一条响应信息。每条响应信息都以一 个响应状态码开发如下所示:250 ok响应状态吗用于表示SMTP服务器对请求命令的处理结果和状态,它是一个三位的十进制数。响应状态码的最高位数 字代表了不同的分类,
4、当其为2时表示命令执行成功,为5时表示命令执行失败。为3时表示命令没有完成。动手实践:借助telnet程序手工发送邮件1) 在sina()中申请两个电子邮件地址,笔者在使用的两个邮箱分另U为_jspdevelop和 fpwjp,第一个邮箱的登录为:javamail,读者应注册自已的电子邮箱进行实验。2) 要给某个SMTP服务器发送邮件,首先要获知该SMTP服务器的主机名,其中新浪的SMTP服务器主机名为 25。3) 当SMTP服务器要对邮件客户端软件进行用户身份验证时,邮件客户端软件需要对用户名和密码进行BASE64编 码后再传递给SMTP服务器,因此要编写一个能对用户名和密码进行BASE64
5、编码的工具程序。下面是用Java 语言编写的一个对用户名和密码分别进行BASE64编码的工具程序。例:BASE64Util.javaimport java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import sun.misc.BASE64Encoder;class BASE64Util帮5买public static void main(String args) throws lOExceptionSystem.out.println(请输入用户名:”);BufferedRea
6、der in=new BufferedReader(new InputStreamReader(System.in);String userName=in.readLine();System.out.print(请输入密码:”);String password=in.readLine();BASE64Encoder encoder=new BASE64Encoder();System.out.println(编码后的用户名为:+encoder.encode(userName.getBytes();System.out.println(编码后的密码为:+encoder.encode(passwo
7、rd.getBytes();启动windows命令行窗口,编译并运行这个Java程序,接着根据程序的提示输入已注册的sina邮箱的用户名和密码。 如图1-1所示。图1-14)重新开启一个windows命令行窗口,使用telnet命令连接到sina的SMTP服务器的25号端口,即在命令行窗口中输入如下一行内容。telnet 25该命令的正常执行结果如图1-2所示。图1-2图1-2中显示的内容是服务器返回给客户端的响应信息,其中包含三部分内容,各部分的意义如下: 220是邮件服务器返回给客户的响应状态码,它表示邮件服务器准备就绪(service ready)。 表示当前进行的响应的邮件服务器的主机
8、名。 ESMTP表示当前邮件服务器支持扩展SMTP协议。5) SMTP发送者程序与SMTP接收者程序建立连接后,接着应该使用ehlo命令向SMTP接收程序发送问候信息。由于当 前运行Telnet程序的计算机根本就没有在Internet上注册的主机名,所以这里随便使用一个名称(jspdevelop)来表示ehlo 命令中主机名。发送ehlo命令后,邮件服务器返回如图1-3所示的结果。图1-36) 在图1-3中接着输入如下一行命令:auth loginSMTP服务器返回如图1-4所示的响应信息。SMTP服务器返回的响应状态码为334,它表示SMTP服务器正在等待客户端输入认证信息。这时将命令行窗口
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 使用 telnet 协议 收发 邮件
![提示](https://www.31ppt.com/images/bang_tan.gif)
链接地址:https://www.31ppt.com/p-5010578.html