资源简介
通过Socket发送邮件的Java小程序
代码片段和文件信息
package com.vk.socket;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.Socket;
import java.net.SocketException;
import java.net.UnknownHostException;
import java.nio.charset.Charset;
import sun.misc.base64Encoder;
public class SMTPEmail {
private Socket socket;
private boolean needAuth;
private boolean debug = false;
base64Encoder encode = new base64Encoder();
public static void main(String[] args) {
String server = “smtp.163.com“;
MailMessage message = new MailMessage();
message.setFrom(“******@163.com“);
message.setTo(“******@qq.com“);
message.setSubject(“test“);
message.setContent(“test“);
message.setDatafrom(“******@163.com“);
message.setDatato(“******@qq.com“);
message.setUser(“******“);
message.setPassword(“******“);
try {
SMTPEmail smtp = new SMTPEmail(server true 25);
boolean flag = smtp.sendMail(message server);
if (flag) {
System.out.println(“send success“);
} else {
System.out.println(“send failed“);
}
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
public SMTPEmail(String server boolean needAuth int port)
throws UnknownHostException IOException {
try {
socket = new Socket(server port);
this.needAuth = needAuth;
} catch (SocketException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
} finally {
}
}
public boolean sendMail(MailMessage message String server) {
try {
InputStream in = socket.getInputStream();
OutputStream out = socket.getOutputStream();
helo(server in out);// HELO
if(needAuth){
authLogin(message in out);// AUTH LOGIN
}
mailfrom(message.getFrom() in out);
String[] str= message.getTo().split(““);
for(int i=0;i rcpt(str[i] in out);
}
data(message.getDatafrom() message.getDatato()
message.getSubject() message.getContent() in out);
quit(in out);
} catch (Exception e) {
e.printStackTrace();
return false;
}
return true;
}
public void helo(String server InputStream in OutputStream out)
throws IOException {
int result;
result = response(in);
if (result != 220) {
throw new IOException(“failed“);
}
result = sendServer(“HELO “ + server in out);
if (result != 250) {
throw new IOException(“failed“);
}
}
private int sendServer(String str InputStream in OutputStream out)
throws IOException {
out.write(str.getBytes());
sendNewline(out);
out.flush();
if (debug) {
System.out.println(“command:“ + str);
}
return response(in);
}
private void authLogin(MailMessage message InputStream in OutputStream out)
throws IOException {
int result;
result = sendServer(“AUTH LOGIN“ in out);
if (result != 334) {
throw new IOException(“AUTH
- 上一篇:android微信分享demo
- 下一篇:java 选择保存文件的路径
相关资源
- 微博系统(Java源码,servlet+jsp),适
- java串口通信全套完整代码-导入eclip
- jsonarray所必需的6个jar包.rar
- 三角网构TIN生成算法,Java语言实现
- java代码编写将excel数据导入到mysql数据
- Java写的cmm词法分析器源代码及javacc学
- pc与android通过usb socket实现手机通信
- JAVA JSP公司财务管理系统 源代码 论文
- JSP+MYSQL旅行社管理信息系统
- 推荐算法的JAVA实现
- 基于Java的酒店管理系统源码(毕业设
- java-图片识别 图片比较
- android毕业设计
- java23种设计模式+23个实例demo
- java Socket发送/接受报文
- JAVA828436
- java界面美化 提供多套皮肤直接使用
- 在线聊天系统(java代码)
- 基于Java的图书管理系统807185
- java中实现将页面数据导入Excel中
- java 企业销售管理系统
- java做的聊天系统(包括正规课程设计
- Java编写的qq聊天室
- 商店商品管理系统 JAVA写的 有界面
- JAVA开发聊天室程序
- 在linux系统下用java执行系统命令实例
- java期末考试试题两套(答案) 选择(
- JAVA3D编程示例(建模、交互)
- Java 文件加密传输
- java做的房产管理系统
评论
共有 条评论