
import javax.mail.Session;
import javax.mail.internet.*;
import javax.mail.Transport;
import javax.mail.Message;

import java.util.Properties;
import java.util.Date;


public final class SendEmail {
  
  private String toEmail;
  private String fromEmail;
  private String body;
  private String smtpHost;
  private String smtpUser;
  
  
  private static SendEmail s = new SendEmail("", "", "", "your_host", "your_username");
  
  
  private SendEmail(String toEmail, String fromEmail, String body, String smtpHost, String smtpUser) 
  { 
  	this.toEmail = toEmail; 
  	this.fromEmail = fromEmail; 
  	this.body = body; 
  	this.smtpHost = smtpHost;
  	this.smtpUser = smtpUser;
  }
  
  public static SendEmail getReference() { 
    return s; 
  }
  public String getToEmailAddress() { return toEmail; }
  public String getFromEmailAddress() { return fromEmail; }
  public String getBody() { return body; }
  public String getSmtpHost() { return smtpHost; }
  public String getSmtpUser() { return smtpUser; }
  
  public void setToEmailAddress(String to) { this.toEmail = to; }
  public void setFromEmailAddress(String from) { this.fromEmail = from; }
  public void setBody(String body) { this.body = body; }
  public void setSmtpHost(String host) { this.smtpHost = host; }
  public void setSmtpUser(String user) { this.smtpUser = user; }
  
  public void sendEmail() throws 	javax.mail.MessagingException, 
									javax.mail.internet.AddressException,
									java.io.UnsupportedEncodingException {
 
 	Properties props = System.getProperties();
							    
	props.put("mail.smtp.host", smtpHost);
	props.put("mail.smtp.user", smtpUser);
 
 	// Get a Mail Session object
	Session mailSession = Session.getDefaultInstance(props, null);
 	
 	// construct the message
	Message msg = new MimeMessage(mailSession);		
	msg.setFrom(new InternetAddress(fromEmail,"Alize Website"));		
			
	msg.setRecipients(Message.RecipientType.TO,
											InternetAddress.parse(toEmail, false));

	msg.setSubject("Mail from Alize website");
	msg.setText(body);	 
	msg.setSentDate(new Date());
	// send the thing off
	Transport.send(msg);
  }
}







