
import java.util.ArrayList;
import java.util.Properties;

import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
 
public class SendMailTLS {
 
	public static void mail(String errormessage) {
		mail("Help - Sikuli Duke", "An exception occurred and I don't know what to do... \n" + errormessage);
	}
	
	public static void mail(String subject, String errormessage) {

		if( !AppsRunner.SEND_FAILURE_MESSAGES )
		{
			return;
		}
		
		final String username = "sharefaithdev@gmail.com";
		final String password = "Sharefaith15!";
		ArrayList<String> recipients = new ArrayList<String>();
		recipients.add("lukebryan@sharefaith.com");
		//recipients.add("luke32j@msn.com");
 
		Properties props = new Properties();
		props.put("mail.smtp.auth", "true");
		props.put("mail.smtp.starttls.enable", "true");
		props.put("mail.smtp.host", "smtp.gmail.com");
		props.put("mail.smtp.port", "587");
 
		Session session = Session.getInstance(props,
		  new javax.mail.Authenticator() {
			protected PasswordAuthentication getPasswordAuthentication() {
				return new PasswordAuthentication(username, password);
			}
		  });
 
		try {
			for (String recipient : recipients)
			{
				Message message = new MimeMessage(session);
				message.setFrom(new InternetAddress("sharefaithdev@gmail.com"));
				message.setRecipients(Message.RecipientType.TO,
					InternetAddress.parse(recipient));
				message.setSubject(subject);
				message.setText( errormessage );
	 
				Transport.send(message);
	 
				System.out.println("Done");
			}
		} catch (MessagingException e) {
			throw new RuntimeException(e);
		}
		
		try {
			Thread.sleep(70000);//In case of bad looping or something
		} catch (InterruptedException e) {
			e.printStackTrace();
		}
	}

}

