// Path: src/mail/MailManager.java
// public class MailManager {
// 
// 	public synchronized static boolean doAction(MessageProcess f) {
// 		return doActionGmail(f, 0);
// 	}
// 
// 	static int MAX_ATTEMPS = 10;
// 
// 	public synchronized static boolean doActionGmail(MessageProcess f,
// 			int attempts) {
// 		try {
// 			Properties props = System.getProperties();
// 			props.setProperty("mail.smtp.host", "smtp.gmail.com");
// 			props.setProperty("mail.smtp.socketFactory.port", "465");
// 			props.setProperty("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
// 			props.setProperty("mail.smtp.auth", "true");
// 			props.setProperty("mail.smtp.port", "465");
// 			
// 			Session session = Session.getDefaultInstance(props, null);
// 			Store store = session.getStore("imaps");
// 			store.connect("smtp.gmail.com", DefaultUserConf.EMAIL,
// 					DefaultUserConf.PASSWORD);
// 
// 			Folder inbox = store.getFolder("Inbox");
// 			inbox.open(Folder.READ_WRITE);
// 
// 			// Get directory
// 			Flags seen = new Flags(Flags.Flag.SEEN);
// 			FlagTerm unseenFlagTerm = new FlagTerm(seen, false);
// 			Message messages[] = inbox.search(unseenFlagTerm);
// 
// 			for (int i = 0; i < messages.length; i++) {
// 				f.treatMessage(messages[i]);
// 			}
// 
// 			// Close connection
// 			inbox.close(true);
// 			store.close();
// 
// 			return true;
// 		} catch (Exception e) {
// 			Logger.traceERROR(e);
// 			Logger.traceERROR("Attempts : " + attempts + " / " + MAX_ATTEMPS);
// 			if (attempts > MAX_ATTEMPS) {
// 				return false;
// 			} else {
// 				doActionGmail(f, attempts++);
// 			}
// 		}
// 		return false;
// 	}
// 
// 	public synchronized static boolean doActionAEI(MessageProcess f,
// 			int attempts) {
// 		try {
// 			Properties props = new Properties();
// 			props.put("mail.smtp.host", "ssl0.ovh.net");
// 			props.put("mail.smtp.socketFactory.port", "465");
// 			props.put("mail.smtp.socketFactory.class",
// 					"javax.net.ssl.SSLSocketFactory");
// 			props.put("mail.smtp.auth", "true");
// 			props.put("mail.smtp.port", "465");
// 
// 			Session session = Session.getDefaultInstance(props,
// 					new javax.mail.Authenticator() {
// 						protected PasswordAuthentication getPasswordAuthentication() {
// 							return new PasswordAuthentication(
// 									"philippe.remy%junior-aei.com", "phremy");
// 						}
// 					});
// 
// 			Store store = session.getStore("imap");
// 			store.connect("ssl0.ovh.net", "philippe.remy%junior-aei.com",
// 					"phremy");
// 
// 			// Get folder
// 			Folder inbox = store.getFolder("INBOX");
// 			inbox.open(Folder.READ_WRITE);
// 
// 			// Get directory
// 			Flags seen = new Flags(Flags.Flag.SEEN);
// 			FlagTerm unseenFlagTerm = new FlagTerm(seen, false);
// 			Message messages[] = inbox.search(unseenFlagTerm);
// 
// 			for (int i = 0; i < messages.length; i++) {
// 				f.treatMessage(messages[i]);
// 			}
// 
// 			// Close connection
// 			inbox.close(true);
// 			store.close();
// 
// 			return true;
// 		} catch (Exception e) {
// 			Logger.traceERROR(e);
// 			Logger.traceERROR("Attempts : " + attempts + " / " + MAX_ATTEMPS);
// 			if (attempts > MAX_ATTEMPS) {
// 				return false;
// 			} else {
// 				doActionAEI(f, attempts++);
// 			}
// 		}
// 
// 		return false;
// 	}
// 
// }
// 
// Path: src/mail/processing/CleanDeletingAdEmail.java
// public class CleanDeletingAdEmail implements MessageProcess
// {
//     @Override
//     public void treatMessage(Message message) throws Exception
//     {
//         String sender = InternetAddress.toString(message.getFrom());
//         String subject = message.getSubject();
//         if (sender.contains("leboncoin.fr") && subject.contains("Suppression de votre annonce"))
//         {
//             Logger.traceINFO("Received : " + subject);
//             Logger.traceINFO("Cleaning this email");
//             message.setFlag(Flag.SEEN, true);
//         }
//     }
// 
// }


import mail.MailManager;
import mail.processing.CleanDeletingAdEmail;

package run;


public class DeleteAdMailCleaner implements LeboncoinRunner
{
    @Override
    public void run()
    {

// Path: src/mail/MailManager.java
// public class MailManager {
// 
// 	public synchronized static boolean doAction(MessageProcess f) {
// 		return doActionGmail(f, 0);
// 	}
// 
// 	static int MAX_ATTEMPS = 10;
// 
// 	public synchronized static boolean doActionGmail(MessageProcess f,
// 			int attempts) {
// 		try {
// 			Properties props = System.getProperties();
// 			props.setProperty("mail.smtp.host", "smtp.gmail.com");
// 			props.setProperty("mail.smtp.socketFactory.port", "465");
// 			props.setProperty("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
// 			props.setProperty("mail.smtp.auth", "true");
// 			props.setProperty("mail.smtp.port", "465");
// 			
// 			Session session = Session.getDefaultInstance(props, null);
// 			Store store = session.getStore("imaps");
// 			store.connect("smtp.gmail.com", DefaultUserConf.EMAIL,
// 					DefaultUserConf.PASSWORD);
// 
// 			Folder inbox = store.getFolder("Inbox");
// 			inbox.open(Folder.READ_WRITE);
// 
// 			// Get directory
// 			Flags seen = new Flags(Flags.Flag.SEEN);
// 			FlagTerm unseenFlagTerm = new FlagTerm(seen, false);
// 			Message messages[] = inbox.search(unseenFlagTerm);
// 
// 			for (int i = 0; i < messages.length; i++) {
// 				f.treatMessage(messages[i]);
// 			}
// 
// 			// Close connection
// 			inbox.close(true);
// 			store.close();
// 
// 			return true;
// 		} catch (Exception e) {
// 			Logger.traceERROR(e);
// 			Logger.traceERROR("Attempts : " + attempts + " / " + MAX_ATTEMPS);
// 			if (attempts > MAX_ATTEMPS) {
// 				return false;
// 			} else {
// 				doActionGmail(f, attempts++);
// 			}
// 		}
// 		return false;
// 	}
// 
// 	public synchronized static boolean doActionAEI(MessageProcess f,
// 			int attempts) {
// 		try {
// 			Properties props = new Properties();
// 			props.put("mail.smtp.host", "ssl0.ovh.net");
// 			props.put("mail.smtp.socketFactory.port", "465");
// 			props.put("mail.smtp.socketFactory.class",
// 					"javax.net.ssl.SSLSocketFactory");
// 			props.put("mail.smtp.auth", "true");
// 			props.put("mail.smtp.port", "465");
// 
// 			Session session = Session.getDefaultInstance(props,
// 					new javax.mail.Authenticator() {
// 						protected PasswordAuthentication getPasswordAuthentication() {
// 							return new PasswordAuthentication(
// 									"philippe.remy%junior-aei.com", "phremy");
// 						}
// 					});
// 
// 			Store store = session.getStore("imap");
// 			store.connect("ssl0.ovh.net", "philippe.remy%junior-aei.com",
// 					"phremy");
// 
// 			// Get folder
// 			Folder inbox = store.getFolder("INBOX");
// 			inbox.open(Folder.READ_WRITE);
// 
// 			// Get directory
// 			Flags seen = new Flags(Flags.Flag.SEEN);
// 			FlagTerm unseenFlagTerm = new FlagTerm(seen, false);
// 			Message messages[] = inbox.search(unseenFlagTerm);
// 
// 			for (int i = 0; i < messages.length; i++) {
// 				f.treatMessage(messages[i]);
// 			}
// 
// 			// Close connection
// 			inbox.close(true);
// 			store.close();
// 
// 			return true;
// 		} catch (Exception e) {
// 			Logger.traceERROR(e);
// 			Logger.traceERROR("Attempts : " + attempts + " / " + MAX_ATTEMPS);
// 			if (attempts > MAX_ATTEMPS) {
// 				return false;
// 			} else {
// 				doActionAEI(f, attempts++);
// 			}
// 		}
// 
// 		return false;
// 	}
// 
// }
// 
// Path: src/mail/processing/CleanDeletingAdEmail.java
// public class CleanDeletingAdEmail implements MessageProcess
// {
//     @Override
//     public void treatMessage(Message message) throws Exception
//     {
//         String sender = InternetAddress.toString(message.getFrom());
//         String subject = message.getSubject();
//         if (sender.contains("leboncoin.fr") && subject.contains("Suppression de votre annonce"))
//         {
//             Logger.traceINFO("Received : " + subject);
//             Logger.traceINFO("Cleaning this email");
//             message.setFlag(Flag.SEEN, true);
//         }
//     }
// 
// }


// Path: src/run/DeleteAdMailCleaner.java
import mail.MailManager;
import mail.processing.CleanDeletingAdEmail;

package run;


public class DeleteAdMailCleaner implements LeboncoinRunner
{
    @Override
    public void run()
    {

        MailManager.doAction(new CleanDeletingAdEmail());
