webForumDet fria alternativet

Java - Enkel email-applikation

Programmeringur Script - Övrigt

0 svar · 1 647 visningar · startad av SPiN

Medlem sedan mars 20007 896 inlägg
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() );
	}
}
125 ms totalt · 3 externa anrop · v20260731065814-full.25f56b17
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
122 ms — hämta tråd, inlägg och bilagor (db)