Frågan#1
Halloj! Följande klass är en enkel sak att använda för att skicka iväg ett email.
import java.io.*;
import java.net.Socket;
import java.net.SocketException;
public class EMail {
private String server;
private Socket socket;
private OutputStreamWriter outputStreamWriter;
private BufferedReader bufferedReader;
public static void main( String[] args ) {
EMail email = new EMail( "smtp.server.nu ");
email.start( "MyMessage", "spin@webforum.nu", "spin@webforum.nu" );
}
public EMail( String server ) {
this.server = server;
}
public void start( String message, String from, String to ) {
try {
System.out.println( "Connection to " + this.server );
this.socket = new Socket( server, 25 );
this.outputStreamWriter = new OutputStreamWriter( this.socket.getOutputStream() );
this.bufferedReader = new BufferedReader( new InputStreamReader( this.socket.getInputStream() ) );
System.out.println( "Connected!" );
System.out.println( "From server: " + bufferedReader.readLine() );
send( "helo " + server );
send( "MAIL FROM:<" + from + ">" );
send( "RCPT TO:<" + to + ">" );
send( "DATA" );
send( message + "\r\n.\r\n" );
this.outputStreamWriter.close();
this.bufferedReader.close();
this.socket.close();
}
catch( Exception e ) {
System.err.println( "Error: " + e.getMessage() );
e.printStackTrace();
}
}
private void send( String sendMe ) throws Exception {
System.out.println( "To server: " + sendMe );
this.outputStreamWriter.write( sendMe + "\r\n" );
this.outputStreamWriter.flush();
System.out.println( "From server: " + this.bufferedReader.readLine() );
}
}