`
foryougeljh
  • 浏览: 116439 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

telnet与java socket发送简单文本文件

 
阅读更多
telnet发邮件
telnet smtp.163.com 25 //连接邮箱服务器
EHLO test //打招呼 ehlo后面内容随便
AUTH LOGIN //进行认证
MTIwMDAzODA4212 //base64编码后的用户名(不包括 @qq.com)
MTM5Nzk1ODQ4MzM21= //base64编码后的密码
MAIL FROM:<120003808@163.com> //邮件发送者
RCPT TO:<120003808@163.com> //邮件接收者
DATA //发送正文
From: 120003808@163.com //邮件头 邮件显示时发送人的邮箱 可以不按真实的输入
To: 120003808@163.com //邮件头 邮件显示时接收人 可以不按真实的输入
Date: Mon, 25 Oct 2004 14:24:27 +0800
Subject: 发送测试 //邮件主题
Content-Type:text/html //内容类型
Content-Transfer-Encoding:utf-8 //编码方式
MIME-Version: 1.0 //MIME版本
//回车换行 表示邮件头结束
这是一个发送html格式邮件测试 <a href="http://www.sina.com.cn">新浪</a>
. //"."表示邮件结束标志
QUIT //断开连接

socket发送简单文本邮件
public class MailSend {
private static String smtpServer = "smtp.163.com"; //邮箱服务器
private int port = 25; //邮箱服务器端口
private static String email = "120003808@163.com";
public static void main(String[] args) {
String from = email;
String to = email;
new MailSend().sendMail(from,to);
}

private void sendMail(String from,String to) {
Socket socket = null;
try {
socket = new Socket(smtpServer,port);//连接到邮箱服务器
BufferedReader br = getReader(socket);//得到输入流
PrintWriter pw = getPrintWriter(socket);//得到输出流

sendAndReceiver(null,br,pw);//仅仅为查看接收服务端响应数据
sendAndReceiver("ehlo "+"test",br,pw);//打招呼,后面接任意字符
sendAndReceiver("auth login",br,pw);//用户认证
String username = new BASE64Encoder().encode("120003808".getBytes());//base64编码用户名
String password = new BASE64Encoder().encode("13979584833".getBytes());//base64编码密码
sendAndReceiver(username,br,pw);//发送base64编码后的用户名,不包括@163.com
sendAndReceiver(password,br,pw);//发送base64编码后的密码

sendAndReceiver("mail from:<"+from+">",br,pw);//说明邮件来自哪里,不一定为邮件地址,不过最好还是写成正确的email地址
sendAndReceiver("rcpt to:<"+to+">",br,pw);//说明邮件发送到哪里,一定要为正确的email地址
sendAndReceiver("data",br,pw);//发送的正文 结束标志: "回车"+"."+"回车"
sendAndReceiver("from:120003808@163.com",br,pw);//邮件头 发送人
sendAndReceiver("to:120003808@163.com",br,pw);//邮件头 接收人
sendAndReceiver("subject:mail test中文",br,pw);//邮件头 邮件主题
sendAndReceiver("date:"+new Date(),br,pw);//邮件头 发送时间
sendAndReceiver("Content-Type:text/html",br,pw);//邮件头 内容类型 此内容类型为html
sendAndReceiver("Content-Transfer-Encoding:utf-8",br,pw);//邮件头 编码方式
pw.println("MIME-Version: 1.0");//邮件头 MIME版本
pw.println();//邮件头结束
pw.println("<a href='http://www.sina.com.cn'>新浪</a>");
pw.println("发送html格式邮箱测试");//邮件体 正文内容
pw.println(".");//结束标志
sendAndReceiver("QUIT",br,pw);//quit断开连接
} catch (Exception e) {
e.printStackTrace();
}
}

private void sendAndReceiver(String str, BufferedReader br, PrintWriter pw)throws IOException {
if(str!=null){
System.out.println("client>"+str);
pw.println(str);
}
String response = null;
if((response=br.readLine())!=null){
System.out.println("server>"+response);
}
}

private PrintWriter getPrintWriter(Socket socket) {
OutputStream os = null;
try {
os = socket.getOutputStream();
} catch (IOException e) {
e.printStackTrace();
}
PrintWriter pw = new PrintWriter(os,true);//自动刷新缓冲区
return pw;
}

private BufferedReader getReader(Socket socket) {
InputStream is = null;
try {
is = socket.getInputStream();
} catch (IOException e) {
e.printStackTrace();
}
BufferedReader br = new BufferedReader(new InputStreamReader(is));
return br;
}
}
分享到:
评论

相关推荐

    telnetd-2_0.zip_java 2 telnet_java telnet server_java 实现Telnet服务

    “telnet.d telnet.d__java”可能是对相关目录或文档的引用,但在这个场景下,我们更多地将其理解为与Telnet服务器实现相关的资料。 在提供的压缩文件列表中,“www.pudn.com.txt”可能是一个包含资源链接或者相关...

    Socket调用服务器bat

    在批处理文件中,可以利用`type`命令读取文本文件内容并发送到Socket,用`echo`命令接收服务器的响应并保存到文件。但是,批处理文件的语法限制使得处理复杂的Socket交互变得困难,通常更适合简单、线性的任务。 **...

    java_socket服务器给浏览器发信息.doc

    在本文档中,我们关注的是如何使用Java Socket来构建一个简单的HTTP服务器,该服务器能够接收来自Web浏览器的请求,并向浏览器发送信息,包括HTML文本和二进制数据(如图片)。 首先,HTTP(超文本传输协议)是...

    Java源码包100个设计实例.zip

    Java源码包100个设计实例, 大量 实例,可以作为你的学习设计参考。...Java读写文本文件的示例代码 Java赌神游戏网络版源代码.rar Java超市管理,SQL2000+源代码.rar Java超市进销存系统.rar Java软件度量源码.ra

    java-socket服务器给浏览器发信息.doc

    本文档将探讨如何使用Java Socket实现一个简单的HTTP服务器,以及它与浏览器交互的过程。HTTP(超文本传输协议)是互联网上应用最为广泛的一种网络协议,主要用于浏览器与服务器之间的通信。 在Java中,Socket类是...

    java源码包---java 源码 大量 实例

    Java读写文本文件的示例代码 1个目标文件。 java俄罗斯方块 一个目标文件。 Java非对称加密源码实例 1个目标文件 摘要:Java源码,算法相关,非对称加密  Java非对称加密源程序代码实例,本例中使用RSA加密技术,...

    TelnetClient.rar

    - `TelnetClient.java`: 这可能是项目的主类,负责创建`Telnet`连接,发送命令并接收服务器响应。它可能会包含`connect()`、`sendCommand()`和`receiveResponse()`等方法,这些都是实现`Telnet`客户端功能的关键。 ...

    java源码包3

    Java读写文本文件的示例代码 1个目标文件。 java俄罗斯方块 一个目标文件。 Java非对称加密源码实例 1个目标文件 摘要:Java源码,算法相关,非对称加密  Java非对称加密源程序代码实例,本例中使用RSA加密技术...

    java源码包2

    Java读写文本文件的示例代码 1个目标文件。 java俄罗斯方块 一个目标文件。 Java非对称加密源码实例 1个目标文件 摘要:Java源码,算法相关,非对称加密  Java非对称加密源程序代码实例,本例中使用RSA加密技术...

    java jdk实列宝典 光盘源代码

    telnet客户端,访问系统的telnet服务实质上是与telnet服务建立socket连接,默认的telnet服务的端口是23,TelnetClient.java; UDP编程,包括收发udp报文; 聊天室服务器端,Chatserver.java;聊天室客户端,...

    基于TCPIP协议的SocketJAVA编程.doc

    - **Socket编程的基本步骤**:主要包括创建Socket对象、建立连接、发送与接收数据、关闭连接等步骤。 - **单客户/服务器Socket编程应用举例**:在单客户端与单服务器的环境中,客户端发起连接请求,服务器接收请求后...

    JAVA上百实例源码以及开源项目源代码

    Java读写文本文件的示例代码 1个目标文件。 java俄罗斯方块 一个目标文件。 Java非对称加密源码实例 1个目标文件 摘要:Java源码,算法相关,非对称加密 Java非对称加密源程序代码实例,本例中使用RSA加密技术,定义...

    成百上千个Java 源码DEMO 4(1-4是独立压缩包)

    Java读写文本文件的示例代码 1个目标文件。 java俄罗斯方块 一个目标文件。 Java非对称加密源码实例 1个目标文件 摘要:Java源码,算法相关,非对称加密 Java非对称加密源程序代码实例,本例中使用RSA加密技术,定义...

    基于java的远程登录和文件传输v

    FTP支持两种模式:ASCII模式(用于文本文件)和二进制模式(用于任何类型的文件)。 2. **FTP的变种**:为了提高安全性,后来出现了安全文件传输协议(SFTP)和FTP over SSL/TLS(FTPS)。这些协议在传输文件时提供...

    java源码包4

    Java读写文本文件的示例代码 1个目标文件。 java俄罗斯方块 一个目标文件。 Java非对称加密源码实例 1个目标文件 摘要:Java源码,算法相关,非对称加密  Java非对称加密源程序代码实例,本例中使用RSA加密技术...

    成百上千个Java 源码DEMO 3(1-4是独立压缩包)

    Java读写文本文件的示例代码 1个目标文件。 java俄罗斯方块 一个目标文件。 Java非对称加密源码实例 1个目标文件 摘要:Java源码,算法相关,非对称加密 Java非对称加密源程序代码实例,本例中使用RSA加密技术,定义...

    Socket通信样的文档讲解

    1. 应用层:这一层定义了各种网络应用程序的协议,如HTTP(超文本传输协议)、FTP(文件传输协议)、SMTP(简单邮件传输协议)和telnet(远程登录服务)。 2. 传输层:主要负责提供端到端的数据传输,TCP和UDP...

    JAVA上百实例源码以及开源项目源代码 java开源包2

    Java读写文本文件的示例代码 1个目标文件。 java俄罗斯方块 一个目标文件。 Java非对称加密源码实例 1个目标文件 摘要:Java源码,算法相关,非对称加密  Java非对称加密源程序代码实例,本例中使用RSA加密技术,...

    聊天系统 java编写的基于applet的聊天系统

    1. **用户界面**:这是用户与聊天系统交互的部分,包括文本输入框、发送按钮、接收消息的显示区域等。在Java Applet中,我们可以使用Swing或AWT库来构建这些组件。 2. **服务器端**:处理客户端发送的消息,存储聊天...

    javasocket服务器给浏览器发信息3.pdf

    这个PDF文档描述了一个简单的Java Socket服务器应用程序,它能够响应HTTP请求,并向浏览器发送HTML文本和二进制数据(如图片)。通过这种方式,开发者可以理解如何在Java中构建基于J2SE的Socket的HTTP服务器。 HTTP...

Global site tag (gtag.js) - Google Analytics