package mail.processing;
import javax.mail.Flags.Flag;
import javax.mail.Message;
import javax.mail.internet.InternetAddress;
import log.Logger;
import utils.StringUtils;
import com.gargoylesoftware.htmlunit.html.HtmlPage;
import connectivity.Client;
public class ConfirmEmail 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("Activez votre annonce"))
{
Logger.traceINFO("Found confirmation mail - " + subject);
String url = extractConfirmationUrl(message.getContent().toString());
Logger.traceINFO("Sending confirmation : " + url);
HtmlPage confirmationPage = Client.get().getPage(url);
String confirmationStr = confirmationPage.asXml();
if (confirmationStr.contains("Vous nous avez d�j� envoy� une confirmation"))
{
Logger.traceERROR("Mail already confirmed. This is a huge error.");
}
Logger.traceINFO("Confirmation sent for mail - " + subject);
message.setFlag(Flag.SEEN, true);
}
}
private static String extractConfirmationUrl(String mailBody)
{
String url = StringUtils.truncBefore(mailBody, "http");
url = StringUtils.truncAfter(url, "\r");
return url.trim();
}
}