資源簡介
通過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 選擇保存文件的路徑
評論
共有 條評論