telnet与java socket发送简单文本文件
来源:互联网 发布:mac系统显示隐藏文件夹 编辑:程序博客网 时间:2024/05/18 02:44
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;
}
}
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;
}
}
- telnet与java socket发送简单文本文件
- Java Socket发送与接收HTTP消息简单实现
- Java Socket发送与接收HTTP消息简单实现
- Java Socket发送与接收HTTP消息简单实现
- Java Socket发送与接收HTTP消息简单实现
- Java Socket发送与接收HTTP消息简单实现
- javaMail简单发送文本文件
- java发送普通文本文件
- Java Mail(一):telnet邮件的发送与接收原理
- java客户端与服务端交互系列(五)发送文本文件
- TCP与UDP的简单发送与实现(socket)
- Telnet与Java实现
- Telnet简单原理与使用
- socket 发送与接收
- 利用Socket写的发送telnet命令的类
- java Socket 发送邮件
- Java Socket 发送对象
- Java socket发送图片
- kernel中 resource结构的操作
- MyEclipse 设置默认编码为utf-8 Default Encoding
- Run-Time Check Failure #2
- java中生成对象的方式
- swing中如何实现JFrame为模态窗口
- telnet与java socket发送简单文本文件
- udev
- window.event对象用法讲解
- SCHi559 升级2.3.4后root方法
- OGRE 1.7.2 [Cthugha] 编译方法
- 常用JAVA正则表达式
- 在通过android的广播机制拦截短信的实现过程中遇到的问题
- 一步一步的使用C++和OPENGL实现COLLADA骨骼动画 第一部分
- DelphiXE2 FireMonkey3D 鼠标指向时的渐变