Java-Einsatz im Netzwerk

Beispiel: E-Mail via Socket

Als Beispiel folgt ein Programm, das über eine Socket-Verbindung eine E-Mail mit einer Klausurnote verschickt. Zunächst öffnet das Programm eine Socket-Verbindung zu einem Mail-Server an dessen Port 25. Anschließend sendet es die Befehle gemäß SMTP. Zur besseren Übersicht verzichtet das Beispiel auf eine Erfolgskontrolle. Dazu müssten über einen InputStream die zurückgeschickten SMTP-Statuscodes gelesen und ausgewertet werden.

import java.net.*;
import java.io.*;

public class TestEmail {

public static void main( String args[]) {
String host = "mailto.t-online.de";
String from = "stephan.euler@t-online.de";
String to = "stephan.euler@t-online.de";
String betreff= "Note der Informatikklausur III";
String inhalt = "Sie haben die Note 3 \\n";
try
{
Socket mailSocket = new Socket(host, 25 );
PrintWriter out = new PrintWriter( mailSocket.getOutputStream(), true );

out.println( "HELO " + host);
out.println( "MAIL FROM: <" + from + ">");
out.println( "RCPT TO: <" + to + ">");
out.println( "DATA" );
out.println( "SUBJECT: " + betreff );
out.println( inhalt );
out.println( ".");
out.println( "QUIT" );

out.close();
mailSocket.close();
}
catch( IOException e ) { System.err.println( e ); }
}
}