import java.io.bufferedreader;
import java.io.filereader;
import java.io.ioexception;
import java.io.inputstream;
import java.io.inputstreamreader;
import java.io.outputstream;
import java.io.outputstreamwriter;
import java.io.printwriter;
import java.net.inetaddress;
import java.net.socket;
import java.net.unknownhostexception;
public class smtpdemo {
public static void main(string args[]) throws ioexception,
unknownhostexception {
string msgfile = "file.txt";
string from = "java2s@java2s.com";
string to = "youremail@yourserver.com";
string mailhost = "yourhost";
smtp mail = new smtp(mailhost);
if (mail != null) {
if (mail.send(new filereader(msgfile), from, to)) {
system.out.println("mail sent.");
} else {
system.out.println("connect to smtp server failed!");
}
}
system.out.println("done.");
}
static class smtp {
private final static int smtp_port = 25;
inetaddress mailhost;
inetaddress localhost;
bufferedreader in;
printwriter out;
public smtp(string host) throws unknownhostexception {
mailhost = inetaddress.getbyname(host);
localhost = inetaddress.getlocalhost();
system.out.println("mailhost = " + mailhost);
system.out.println("localhost= " + localhost);
system.out.println("smtp constructor done/n");
}
public boolean send(filereader msgfilereader, string from, string to)
throws ioexception {
socket smtppipe;
inputstream inn;
outputstream outt;
bufferedreader msg;
msg = new bufferedreader(msgfilereader);
smtppipe = new socket(mailhost, smtp_port);
if (smtppipe == null) {
return false;
}
inn = smtppipe.getinputstream();
outt = smtppipe.getoutputstream();
in = new bufferedreader(new inputstreamreader(inn));
out = new printwriter(new outputstreamwriter(outt), true);
if (inn == null || outt == null) {
system.out.println("failed to open streams to socket.");
return false;
}
string initialid = in.readline();
system.out.println(initialid);
system.out.println("helo " + localhost.gethostname());
out.println("helo " + localhost.gethostname());
string welcome = in.readline();
system.out.println(welcome);
system.out.println("mail from:<" + from + ">");
out.println("mail from:<" + from + ">");
string senderok = in.readline();
system.out.println(senderok);
system.out.println("rcpt to:<" + to + ">");
out.println("rcpt to:<" + to + ">");
string recipientok = in.readline();
system.out.println(recipientok);
system.out.println("data");
out.println("data");
string line;
while ((line = msg.readline()) != null) {
out.println(line);
}
system.out.println(".");
out.println(".");
string acceptedok = in.readline();
system.out.println(acceptedok);
system.out.println("quit");
out.println("quit");
return true;
}
}
}
import java.io.filereader;
import java.io.ioexception;
import java.io.inputstream;
import java.io.inputstreamreader;
import java.io.outputstream;
import java.io.outputstreamwriter;
import java.io.printwriter;
import java.net.inetaddress;
import java.net.socket;
import java.net.unknownhostexception;
public class smtpdemo {
public static void main(string args[]) throws ioexception,
unknownhostexception {
string msgfile = "file.txt";
string from = "java2s@java2s.com";
string to = "youremail@yourserver.com";
string mailhost = "yourhost";
smtp mail = new smtp(mailhost);
if (mail != null) {
if (mail.send(new filereader(msgfile), from, to)) {
system.out.println("mail sent.");
} else {
system.out.println("connect to smtp server failed!");
}
}
system.out.println("done.");
}
static class smtp {
private final static int smtp_port = 25;
inetaddress mailhost;
inetaddress localhost;
bufferedreader in;
printwriter out;
public smtp(string host) throws unknownhostexception {
mailhost = inetaddress.getbyname(host);
localhost = inetaddress.getlocalhost();
system.out.println("mailhost = " + mailhost);
system.out.println("localhost= " + localhost);
system.out.println("smtp constructor done/n");
}
public boolean send(filereader msgfilereader, string from, string to)
throws ioexception {
socket smtppipe;
inputstream inn;
outputstream outt;
bufferedreader msg;
msg = new bufferedreader(msgfilereader);
smtppipe = new socket(mailhost, smtp_port);
if (smtppipe == null) {
return false;
}
inn = smtppipe.getinputstream();
outt = smtppipe.getoutputstream();
in = new bufferedreader(new inputstreamreader(inn));
out = new printwriter(new outputstreamwriter(outt), true);
if (inn == null || outt == null) {
system.out.println("failed to open streams to socket.");
return false;
}
string initialid = in.readline();
system.out.println(initialid);
system.out.println("helo " + localhost.gethostname());
out.println("helo " + localhost.gethostname());
string welcome = in.readline();
system.out.println(welcome);
system.out.println("mail from:<" + from + ">");
out.println("mail from:<" + from + ">");
string senderok = in.readline();
system.out.println(senderok);
system.out.println("rcpt to:<" + to + ">");
out.println("rcpt to:<" + to + ">");
string recipientok = in.readline();
system.out.println(recipientok);
system.out.println("data");
out.println("data");
string line;
while ((line = msg.readline()) != null) {
out.println(line);
}
system.out.println(".");
out.println(".");
string acceptedok = in.readline();
system.out.println(acceptedok);
system.out.println("quit");
out.println("quit");
return true;
}
}
}
闽公网安备 35060202000074号