diff --git a/network/pom.xml b/network/pom.xml index 58796c9..a9d52e2 100644 --- a/network/pom.xml +++ b/network/pom.xml @@ -1,69 +1,76 @@ - - - 4.0.0 - - de.muehlencord.shared - shared-network - 1.1-SNAPSHOT - jar - shared-network - - - shared - de.muehlencord - 1.1-SNAPSHOT - - - http://maven.apache.org - - UTF-8 - - - - ${project.artifactId} - - - - - junit - junit - jar - test - - - com.enterprisedt - edtFTPj - compile - - - org.slf4j - slf4j-api - - - org.slf4j - slf4j-log4j12 - test - - - de.muehlencord.shared - shared-util - jar - 1.1-SNAPSHOT - - - - com.sun.mail - javax.mail - - - com.microsoft.ews-java-api - ews-java-api - - - - commons-net - commons-net - compile - - - + + + 4.0.0 + + de.muehlencord.shared + shared-network + 1.1-SNAPSHOT + jar + shared-network + + + shared + de.muehlencord + 1.1-SNAPSHOT + + + http://maven.apache.org + + UTF-8 + + + + ${project.artifactId} + + + + + junit + junit + jar + test + + + com.enterprisedt + edtFTPj + compile + + + org.slf4j + slf4j-api + + + org.slf4j + slf4j-log4j12 + test + + + de.muehlencord.shared + shared-util + jar + 1.1-SNAPSHOT + + + + com.sun.mail + javax.mail + + + com.microsoft.ews-java-api + ews-java-api + + + + commons-net + commons-net + compile + + + + javax.xml.ws + jaxws-api + 2.3.1 + test + + + diff --git a/network/src/main/java/de/muehlencord/shared/network/mail/MailReader.java b/network/src/main/java/de/muehlencord/shared/network/mail/MailReader.java index ca7a38d..8073d53 100644 --- a/network/src/main/java/de/muehlencord/shared/network/mail/MailReader.java +++ b/network/src/main/java/de/muehlencord/shared/network/mail/MailReader.java @@ -5,7 +5,6 @@ package de.muehlencord.shared.network.mail; import java.util.List; -import javax.mail.Folder; /** * diff --git a/network/src/main/java/de/muehlencord/shared/network/mail/exchange/ExchangeMailReader.java b/network/src/main/java/de/muehlencord/shared/network/mail/exchange/ExchangeMailReader.java index 6681bcb..1b65cab 100644 --- a/network/src/main/java/de/muehlencord/shared/network/mail/exchange/ExchangeMailReader.java +++ b/network/src/main/java/de/muehlencord/shared/network/mail/exchange/ExchangeMailReader.java @@ -5,6 +5,7 @@ import de.muehlencord.shared.network.mail.MailReader; import de.muehlencord.shared.network.mail.MailReaderConfiguration; import de.muehlencord.shared.network.mail.MailReaderConnectionException; import de.muehlencord.shared.network.mail.MailReaderException; +import java.net.URI; import java.util.ArrayList; import java.util.Iterator; import java.util.List; @@ -34,7 +35,7 @@ import org.slf4j.LoggerFactory; * @author Joern Muehlencord */ public class ExchangeMailReader implements MailReader { - + private static final Logger LOGGER = LoggerFactory.getLogger(ExchangeMailReader.class); private final MailReaderConfiguration configuration; private ExchangeService service = null; @@ -55,8 +56,11 @@ public class ExchangeMailReader implements MailReader { ExchangeCredentials credentials = new WebCredentials(userName, password); service.setCredentials(credentials); - service.autodiscoverUrl(emailAddress, new RedirectionUrlCallback()); - + if (hostName == null) { + service.autodiscoverUrl(emailAddress, new RedirectionUrlCallback()); + } else { + service.setUrl(new URI(hostName)); + } LOGGER.info("Connected to " + getConnectionShortCut()); } catch (Exception ex) { throw new MailReaderConnectionException(ex.getMessage(), ex); @@ -241,9 +245,15 @@ public class ExchangeMailReader implements MailReader { } class RedirectionUrlCallback implements IAutodiscoverRedirectionUrl { + + private static final Logger LOGGER = LoggerFactory.getLogger(RedirectionUrlCallback.class); @Override public boolean autodiscoverRedirectionUrlValidationCallback(String redirectionUrl) { + if (LOGGER.isDebugEnabled()) { + LOGGER.debug("redirectUrl found: {}", redirectionUrl); + } + return redirectionUrl.toLowerCase().startsWith("https://"); } } diff --git a/network/src/test/java/de/muehlencord/shared/network/mail/exchange/ExchangeMailReaderTest.java b/network/src/test/java/de/muehlencord/shared/network/mail/exchange/ExchangeMailReaderTest.java index 0066953..85510dd 100644 --- a/network/src/test/java/de/muehlencord/shared/network/mail/exchange/ExchangeMailReaderTest.java +++ b/network/src/test/java/de/muehlencord/shared/network/mail/exchange/ExchangeMailReaderTest.java @@ -24,7 +24,7 @@ public class ExchangeMailReaderTest { public void testConnect() { try { LOGGER.info("testConnect"); - String imapHost = null; + String imapHost = null; // use autodiscover String smtpHost = null; String folder = null; String testFolder = null; @@ -32,16 +32,15 @@ public class ExchangeMailReaderTest { String password = null; String emailaddress = null; - assumeNotNull(imapHost); + // disable tests if not all values are set assumeNotNull(smtpHost); assumeNotNull(folder); assumeNotNull(testFolder); assumeNotNull(userName); assumeNotNull(emailaddress); assumeNotNull(password); - - MailReaderConfiguration config = new MailReaderConfiguration(smtpHost, imapHost, userName, password, emailaddress); + MailReaderConfiguration config = new MailReaderConfiguration(smtpHost, imapHost, userName, password, emailaddress); MailReader instance = new ExchangeMailReader(config); instance.connect();