// File:  SendMail.java - A tiny application that sends an EMail message using SMTP

// A superior way to send (and receive) EMail is to use Sun's JavaMail support
// But, that is far more complex...  and requires downloading additional libraries
// So, for now, this tiny example should suffice

import java.io.*;
import sun.net.smtp.*;	// Note that sun.net.* packages are UNSUPPORTED

public class SendMail {

	public static void main(String[] args) {
		System.out.println();
		System.out.println("Sending EMail...");
		if (sendMail())
			System.out.println("EMail sent...");
		else
			System.out.println("Trouble sending your EMail...");
		System.out.println();
	}

	static boolean sendMail () {
		boolean bSuccess = true;
		String sTO   = "bpollack@sierranevada.edu";
		String sFROM = "bpollack@sierranevada.edu";
		try {
			System.out.println("Beginning to send...");
			// smtp.aodinc.com  is one of my mail servers
			SmtpClient smtp = new SmtpClient("smtp.sierranevada.edu");
			smtp.from(sFROM);
			smtp.to(sTO);
			PrintStream msg = smtp.startMessage();

			msg.print("From: SENDER\n");
			msg.print("Subject: This is a test EMail message\n");
			msg.print("To: RECIPIENT\n");
			msg.println("");
			msg.println("");
			msg.println("Dear Java Programmer,");
			msg.println("");
			msg.println("Hello World!");

			smtp.closeServer();
			System.out.println("Success:  EMmail sent to: " + sTO);
		} catch (java.net.UnknownHostException e) {
			System.out.println(e);
			System.out.println("  probably caused by bad host name, not connected to the Internet,...");
			bSuccess = false;
		} catch (IOException e) {
			System.out.println(e);
			bSuccess = false;
		}
		return bSuccess;
	}
}
