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

public class SmtpMailer
{
	private Socket m_sfd;
	private String m_servername;
	
	public SmtpMailer(String servername)
		throws UnknownHostException, IOException
	{
		m_sfd = new Socket(servername, 25);
		m_servername = servername;
	}
	
	public SmtpMailer(String servername, int port)
		throws UnknownHostException, IOException
	{
		m_sfd = new Socket(servername, port);
		m_servername = servername;
	}
	
	public void sendMail(String emailAddressFrom, String emailAddressTo, String subject, String text)
		throws IOException
	{
		DataInputStream inmail = new DataInputStream(m_sfd.getInputStream()); 
		PrintWriter outmail = new PrintWriter(m_sfd.getOutputStream()); 
	
		byte[] b = new byte[1]; 
		int nbytes;
		int incoming; 

		incoming = inmail.read(b,0,1); 
		outmail.println("HELO " + m_servername); 
		incoming = inmail.read(b,0,1); 
		outmail.println("mail from: " + emailAddressFrom); 
		incoming = inmail.read(b,0,1); 
		outmail.println("RCPT to: " + emailAddressTo); 
		incoming = inmail.read(b,0,1); 
		outmail.println("Data"); 
		incoming = inmail.read(b,0,1); 

		outmail.println("To: "+ emailAddressTo); 
		outmail.println("Subject: "+ subject); 
		outmail.println(""); outmail.println(""); 
		outmail.println(text); 
		outmail.println("."); incoming = inmail.read(b,0,1); 
		
		outmail.println("Quit"); 
		outmail.flush(); 
		outmail.close(); 
		inmail.close();
	}
}