http://git-wip-us.apache.org/repos/asf/james-project/blob/60b1d219/server/container/guice/jpa-smtp/src/test/java/org/apache/james/JPAJamesServerTest.java
----------------------------------------------------------------------
diff --git 
a/server/container/guice/jpa-smtp/src/test/java/org/apache/james/JPAJamesServerTest.java
 
b/server/container/guice/jpa-smtp/src/test/java/org/apache/james/JPAJamesServerTest.java
index 7e192fe..aec51d6 100644
--- 
a/server/container/guice/jpa-smtp/src/test/java/org/apache/james/JPAJamesServerTest.java
+++ 
b/server/container/guice/jpa-smtp/src/test/java/org/apache/james/JPAJamesServerTest.java
@@ -32,6 +32,7 @@ import javax.persistence.EntityManagerFactory;
 import org.apache.james.backends.jpa.JpaTestCluster;
 import org.apache.james.domainlist.jpa.model.JPADomain;
 import org.apache.james.mailrepository.jpa.JPAUrl;
+import org.apache.james.modules.protocols.SmtpGuiceProbe;
 import org.apache.james.rrt.jpa.model.JPARecipientRewrite;
 import org.apache.james.server.core.configuration.Configuration;
 import org.apache.james.user.jpa.model.JPAUser;
@@ -43,8 +44,6 @@ import org.junit.rules.TemporaryFolder;
 
 public class JPAJamesServerTest {
 
-    private static final int SMTP_PORT = 1025;
-
     private GuiceJamesServer server;
     private SocketChannel socketChannel;
 
@@ -85,7 +84,7 @@ public class JPAJamesServerTest {
 
     @Test
     public void connectSMTPServerShouldSendShabangOnConnect() throws Exception 
{
-        socketChannel.connect(new InetSocketAddress("127.0.0.1", SMTP_PORT));
+        socketChannel.connect(new InetSocketAddress("127.0.0.1", 
server.getProbe(SmtpGuiceProbe.class).getSmtpPort()));
         assertThat(getServerConnectionResponse(socketChannel)).startsWith("220 
JAMES Linagora's SMTP awesome Server");
     }
     

http://git-wip-us.apache.org/repos/asf/james-project/blob/60b1d219/server/container/guice/jpa-smtp/src/test/resources/managesieveserver.xml
----------------------------------------------------------------------
diff --git 
a/server/container/guice/jpa-smtp/src/test/resources/managesieveserver.xml 
b/server/container/guice/jpa-smtp/src/test/resources/managesieveserver.xml
index ec57e09..eee4052 100644
--- a/server/container/guice/jpa-smtp/src/test/resources/managesieveserver.xml
+++ b/server/container/guice/jpa-smtp/src/test/resources/managesieveserver.xml
@@ -31,7 +31,7 @@
 
      <jmxName>managesieveserver</jmxName>
 
-     <bind>0.0.0.0:4190</bind>
+     <bind>0.0.0.0:0</bind>
 
      <connectionBacklog>200</connectionBacklog>
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/60b1d219/server/container/guice/jpa-smtp/src/test/resources/smtpserver.xml
----------------------------------------------------------------------
diff --git a/server/container/guice/jpa-smtp/src/test/resources/smtpserver.xml 
b/server/container/guice/jpa-smtp/src/test/resources/smtpserver.xml
index 2f83c8e..c348f04 100644
--- a/server/container/guice/jpa-smtp/src/test/resources/smtpserver.xml
+++ b/server/container/guice/jpa-smtp/src/test/resources/smtpserver.xml
@@ -22,7 +22,7 @@
 <smtpservers>
     <smtpserver enabled="true">
         <jmxName>smtpserver-global</jmxName>
-        <bind>0.0.0.0:1025</bind>
+        <bind>0.0.0.0:0</bind>
         <connectionBacklog>200</connectionBacklog>
         <tls socketTLS="false" startTLS="false">
             <keystore>file://conf/keystore</keystore>
@@ -45,7 +45,7 @@
     </smtpserver>
     <smtpserver enabled="true">
         <jmxName>smtpserver-TLS</jmxName>
-        <bind>0.0.0.0:10465</bind>
+        <bind>0.0.0.0:0</bind>
         <connectionBacklog>200</connectionBacklog>
         <tls socketTLS="false" startTLS="false">
             <keystore>file://conf/keystore</keystore>
@@ -72,7 +72,7 @@
     </smtpserver>
     <smtpserver enabled="true">
         <jmxName>smtpserver-authenticated</jmxName>
-        <bind>0.0.0.0:1587</bind>
+        <bind>0.0.0.0:0</bind>
         <connectionBacklog>200</connectionBacklog>
         <tls socketTLS="false" startTLS="false">
             <keystore>file://conf/keystore</keystore>

http://git-wip-us.apache.org/repos/asf/james-project/blob/60b1d219/server/container/guice/memory-guice/src/test/java/org/apache/james/MemoryJamesServerTest.java
----------------------------------------------------------------------
diff --git 
a/server/container/guice/memory-guice/src/test/java/org/apache/james/MemoryJamesServerTest.java
 
b/server/container/guice/memory-guice/src/test/java/org/apache/james/MemoryJamesServerTest.java
index b8dfd4f..f617921 100644
--- 
a/server/container/guice/memory-guice/src/test/java/org/apache/james/MemoryJamesServerTest.java
+++ 
b/server/container/guice/memory-guice/src/test/java/org/apache/james/MemoryJamesServerTest.java
@@ -23,7 +23,7 @@ import java.io.IOException;
 
 import org.junit.Rule;
 
-public class MemoryJamesServerTest extends AbstractJmapJamesServerTest {
+public class MemoryJamesServerTest extends AbstractJamesServerTest {
     @Rule
     public MemoryJmapTestRule memoryJmap = new MemoryJmapTestRule();
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/60b1d219/server/container/guice/memory-guice/src/test/java/org/apache/james/MemoryJmapJamesServerTest.java
----------------------------------------------------------------------
diff --git 
a/server/container/guice/memory-guice/src/test/java/org/apache/james/MemoryJmapJamesServerTest.java
 
b/server/container/guice/memory-guice/src/test/java/org/apache/james/MemoryJmapJamesServerTest.java
new file mode 100644
index 0000000..eb3ca00
--- /dev/null
+++ 
b/server/container/guice/memory-guice/src/test/java/org/apache/james/MemoryJmapJamesServerTest.java
@@ -0,0 +1,39 @@
+/****************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one   *
+ * or more contributor license agreements.  See the NOTICE file *
+ * distributed with this work for additional information        *
+ * regarding copyright ownership.  The ASF licenses this file   *
+ * to you under the Apache License, Version 2.0 (the            *
+ * "License"); you may not use this file except in compliance   *
+ * with the License.  You may obtain a copy of the License at   *
+ *                                                              *
+ *   http://www.apache.org/licenses/LICENSE-2.0                 *
+ *                                                              *
+ * Unless required by applicable law or agreed to in writing,   *
+ * software distributed under the License is distributed on an  *
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY       *
+ * KIND, either express or implied.  See the License for the    *
+ * specific language governing permissions and limitations      *
+ * under the License.                                           *
+ ****************************************************************/
+
+package org.apache.james;
+
+import java.io.IOException;
+
+import org.junit.Rule;
+
+public class MemoryJmapJamesServerTest extends AbstractJmapJamesServerTest {
+
+    @Rule
+    public MemoryJmapTestRule memoryJmap = new MemoryJmapTestRule();
+
+    @Override
+    protected GuiceJamesServer createJamesServer() throws IOException {
+        return memoryJmap.jmapServer();
+    }
+
+    @Override
+    protected void clean() {
+    }
+}

http://git-wip-us.apache.org/repos/asf/james-project/blob/60b1d219/server/container/guice/memory-guice/src/test/resources/imapserver.xml
----------------------------------------------------------------------
diff --git 
a/server/container/guice/memory-guice/src/test/resources/imapserver.xml 
b/server/container/guice/memory-guice/src/test/resources/imapserver.xml
index 28ce44c..509fdb3 100644
--- a/server/container/guice/memory-guice/src/test/resources/imapserver.xml
+++ b/server/container/guice/memory-guice/src/test/resources/imapserver.xml
@@ -23,13 +23,13 @@ under the License.
 <imapservers>
     <imapserver enabled="true">
         <jmxName>imapserver</jmxName>
-        <bind>0.0.0.0:1143</bind>
+        <bind>0.0.0.0:0</bind>
         <connectionBacklog>200</connectionBacklog>
         <tls socketTLS="false" startTLS="false">
             <!-- To create a new keystore execute:
             keytool -genkey -alias james -keyalg RSA -keystore 
/path/to/james/conf/keystore
               -->
-            <keystore>file://conf/keystore</keystore>
+            <keystore>classpath://keystore</keystore>
             <secret>james72laBalle</secret>
             
<provider>org.bouncycastle.jce.provider.BouncyCastleProvider</provider>
         </tls>
@@ -38,13 +38,13 @@ under the License.
     </imapserver>
     <imapserver enabled="true">
         <jmxName>imapserver-ssl</jmxName>
-        <bind>0.0.0.0:1993</bind>
+        <bind>0.0.0.0:0</bind>
         <connectionBacklog>200</connectionBacklog>
-        <tls socketTLS="false" startTLS="false">
+        <tls socketTLS="false" startTLS="true">
             <!-- To create a new keystore execute:
               keytool -genkey -alias james -keyalg RSA -keystore 
/path/to/james/conf/keystore
              -->
-            <keystore>file://conf/keystore</keystore>
+            <keystore>classpath://keystore</keystore>
             <secret>james72laBalle</secret>
             
<provider>org.bouncycastle.jce.provider.BouncyCastleProvider</provider>
         </tls>

http://git-wip-us.apache.org/repos/asf/james-project/blob/60b1d219/server/container/guice/memory-guice/src/test/resources/lmtpserver.xml
----------------------------------------------------------------------
diff --git 
a/server/container/guice/memory-guice/src/test/resources/lmtpserver.xml 
b/server/container/guice/memory-guice/src/test/resources/lmtpserver.xml
index 5c4a9c7..7739071 100644
--- a/server/container/guice/memory-guice/src/test/resources/lmtpserver.xml
+++ b/server/container/guice/memory-guice/src/test/resources/lmtpserver.xml
@@ -23,7 +23,7 @@
     <lmtpserver enabled="true">
         <jmxName>lmtpserver</jmxName>
         <!-- LMTP should not be reachable from outside your network so bind it 
to loopback-->
-        <bind>127.0.0.1:1024</bind>
+        <bind>127.0.0.1:0</bind>
         <connectionBacklog>200</connectionBacklog>
         <connectiontimeout>1200</connectiontimeout>
         <!-- Set the maximum simultaneous incoming connections for this 
service -->

http://git-wip-us.apache.org/repos/asf/james-project/blob/60b1d219/server/container/guice/memory-guice/src/test/resources/managesieveserver.xml
----------------------------------------------------------------------
diff --git 
a/server/container/guice/memory-guice/src/test/resources/managesieveserver.xml 
b/server/container/guice/memory-guice/src/test/resources/managesieveserver.xml
index ec57e09..eee4052 100644
--- 
a/server/container/guice/memory-guice/src/test/resources/managesieveserver.xml
+++ 
b/server/container/guice/memory-guice/src/test/resources/managesieveserver.xml
@@ -31,7 +31,7 @@
 
      <jmxName>managesieveserver</jmxName>
 
-     <bind>0.0.0.0:4190</bind>
+     <bind>0.0.0.0:0</bind>
 
      <connectionBacklog>200</connectionBacklog>
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/60b1d219/server/container/guice/memory-guice/src/test/resources/pop3server.xml
----------------------------------------------------------------------
diff --git 
a/server/container/guice/memory-guice/src/test/resources/pop3server.xml 
b/server/container/guice/memory-guice/src/test/resources/pop3server.xml
index e4187da..595c313 100644
--- a/server/container/guice/memory-guice/src/test/resources/pop3server.xml
+++ b/server/container/guice/memory-guice/src/test/resources/pop3server.xml
@@ -22,7 +22,7 @@
 <pop3servers>
     <pop3server enabled="true">
         <jmxName>pop3server</jmxName>
-        <bind>0.0.0.0:1110</bind>
+        <bind>0.0.0.0:0</bind>
         <connectionBacklog>200</connectionBacklog>
         <tls socketTLS="false" startTLS="false">
             <!-- To create a new keystore execute:

http://git-wip-us.apache.org/repos/asf/james-project/blob/60b1d219/server/container/guice/memory-guice/src/test/resources/smtpserver.xml
----------------------------------------------------------------------
diff --git 
a/server/container/guice/memory-guice/src/test/resources/smtpserver.xml 
b/server/container/guice/memory-guice/src/test/resources/smtpserver.xml
index 2f83c8e..c348f04 100644
--- a/server/container/guice/memory-guice/src/test/resources/smtpserver.xml
+++ b/server/container/guice/memory-guice/src/test/resources/smtpserver.xml
@@ -22,7 +22,7 @@
 <smtpservers>
     <smtpserver enabled="true">
         <jmxName>smtpserver-global</jmxName>
-        <bind>0.0.0.0:1025</bind>
+        <bind>0.0.0.0:0</bind>
         <connectionBacklog>200</connectionBacklog>
         <tls socketTLS="false" startTLS="false">
             <keystore>file://conf/keystore</keystore>
@@ -45,7 +45,7 @@
     </smtpserver>
     <smtpserver enabled="true">
         <jmxName>smtpserver-TLS</jmxName>
-        <bind>0.0.0.0:10465</bind>
+        <bind>0.0.0.0:0</bind>
         <connectionBacklog>200</connectionBacklog>
         <tls socketTLS="false" startTLS="false">
             <keystore>file://conf/keystore</keystore>
@@ -72,7 +72,7 @@
     </smtpserver>
     <smtpserver enabled="true">
         <jmxName>smtpserver-authenticated</jmxName>
-        <bind>0.0.0.0:1587</bind>
+        <bind>0.0.0.0:0</bind>
         <connectionBacklog>200</connectionBacklog>
         <tls socketTLS="false" startTLS="false">
             <keystore>file://conf/keystore</keystore>

http://git-wip-us.apache.org/repos/asf/james-project/blob/60b1d219/server/container/guice/protocols/imap/src/main/java/org/apache/james/modules/protocols/IMAPServerModule.java
----------------------------------------------------------------------
diff --git 
a/server/container/guice/protocols/imap/src/main/java/org/apache/james/modules/protocols/IMAPServerModule.java
 
b/server/container/guice/protocols/imap/src/main/java/org/apache/james/modules/protocols/IMAPServerModule.java
index bd608cf..0e2ac9a 100644
--- 
a/server/container/guice/protocols/imap/src/main/java/org/apache/james/modules/protocols/IMAPServerModule.java
+++ 
b/server/container/guice/protocols/imap/src/main/java/org/apache/james/modules/protocols/IMAPServerModule.java
@@ -27,6 +27,7 @@ import 
org.apache.james.imap.encode.main.DefaultImapEncoderFactory;
 import org.apache.james.imap.main.DefaultImapDecoderFactory;
 import org.apache.james.imap.processor.main.DefaultImapProcessorFactory;
 import org.apache.james.imapserver.netty.IMAPServerFactory;
+import org.apache.james.imapserver.netty.OioIMAPServerFactory;
 import org.apache.james.lifecycle.api.Configurable;
 import org.apache.james.mailbox.MailboxManager;
 import org.apache.james.mailbox.SubscriptionManager;
@@ -36,11 +37,13 @@ import org.apache.james.metrics.api.MetricFactory;
 import org.apache.james.modules.Names;
 import org.apache.james.server.core.configuration.ConfigurationProvider;
 import org.apache.james.utils.ConfigurationPerformer;
+import org.apache.james.utils.GuiceProbe;
 
 import com.google.common.collect.ImmutableList;
 import com.google.inject.AbstractModule;
 import com.google.inject.Inject;
 import com.google.inject.Provides;
+import com.google.inject.Scopes;
 import com.google.inject.Singleton;
 import com.google.inject.multibindings.Multibinder;
 import com.google.inject.name.Named;
@@ -49,7 +52,11 @@ public class IMAPServerModule extends AbstractModule {
 
     @Override
     protected void configure() {
+        bind(IMAPServerFactory.class).in(Scopes.SINGLETON);
+        bind(OioIMAPServerFactory.class).in(Scopes.SINGLETON);
+
         Multibinder.newSetBinder(binder(), 
ConfigurationPerformer.class).addBinding().to(IMAPModuleConfigurationPerformer.class);
+        Multibinder.newSetBinder(binder(), 
GuiceProbe.class).addBinding().to(ImapGuiceProbe.class);
     }
 
     @Provides

http://git-wip-us.apache.org/repos/asf/james-project/blob/60b1d219/server/container/guice/protocols/imap/src/main/java/org/apache/james/modules/protocols/ImapGuiceProbe.java
----------------------------------------------------------------------
diff --git 
a/server/container/guice/protocols/imap/src/main/java/org/apache/james/modules/protocols/ImapGuiceProbe.java
 
b/server/container/guice/protocols/imap/src/main/java/org/apache/james/modules/protocols/ImapGuiceProbe.java
new file mode 100644
index 0000000..0c7c1fc
--- /dev/null
+++ 
b/server/container/guice/protocols/imap/src/main/java/org/apache/james/modules/protocols/ImapGuiceProbe.java
@@ -0,0 +1,58 @@
+/****************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one   *
+ * or more contributor license agreements.  See the NOTICE file *
+ * distributed with this work for additional information        *
+ * regarding copyright ownership.  The ASF licenses this file   *
+ * to you under the Apache License, Version 2.0 (the            *
+ * "License"); you may not use this file except in compliance   *
+ * with the License.  You may obtain a copy of the License at   *
+ *                                                              *
+ *   http://www.apache.org/licenses/LICENSE-2.0                 *
+ *                                                              *
+ * Unless required by applicable law or agreed to in writing,   *
+ * software distributed under the License is distributed on an  *
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY       *
+ * KIND, either express or implied.  See the License for the    *
+ * specific language governing permissions and limitations      *
+ * under the License.                                           *
+ ****************************************************************/
+package org.apache.james.modules.protocols;
+
+import java.net.InetSocketAddress;
+import java.util.Optional;
+import java.util.function.Predicate;
+
+import javax.inject.Inject;
+
+import org.apache.james.imapserver.netty.IMAPServerFactory;
+import org.apache.james.protocols.lib.netty.AbstractConfigurableAsyncServer;
+import org.apache.james.utils.GuiceProbe;
+
+
+public class ImapGuiceProbe implements GuiceProbe {
+
+    private final IMAPServerFactory imapServerFactory;
+
+    @Inject
+    private ImapGuiceProbe(IMAPServerFactory imapServerFactory) {
+        this.imapServerFactory = imapServerFactory;
+    }
+
+    public int getImapPort() {
+        return getPort(server -> !server.getStartTLSSupported())
+                .orElseThrow(() -> new IllegalStateException("IMAP server not 
defined"));
+    }
+
+    public int getImapsPort() {
+        return getPort(server -> server.getStartTLSSupported())
+                .orElseThrow(() -> new IllegalStateException("IMAPS server not 
defined"));
+    }
+
+    private Optional<Integer> getPort(Predicate<? super 
AbstractConfigurableAsyncServer> filter) {
+        return imapServerFactory.getServers().stream()
+                .filter(filter)
+                .findFirst()
+                .flatMap(server -> 
server.getListenAddresses().stream().findFirst())
+                .map(InetSocketAddress::getPort);
+    }
+}

http://git-wip-us.apache.org/repos/asf/james-project/blob/60b1d219/server/container/guice/protocols/jmap/src/test/java/org/apache/james/AbstractJmapJamesServerTest.java
----------------------------------------------------------------------
diff --git 
a/server/container/guice/protocols/jmap/src/test/java/org/apache/james/AbstractJmapJamesServerTest.java
 
b/server/container/guice/protocols/jmap/src/test/java/org/apache/james/AbstractJmapJamesServerTest.java
index 1abae59..318e15b 100644
--- 
a/server/container/guice/protocols/jmap/src/test/java/org/apache/james/AbstractJmapJamesServerTest.java
+++ 
b/server/container/guice/protocols/jmap/src/test/java/org/apache/james/AbstractJmapJamesServerTest.java
@@ -21,18 +21,11 @@ package org.apache.james;
 import static io.restassured.RestAssured.given;
 import static io.restassured.config.EncoderConfig.encoderConfig;
 import static io.restassured.config.RestAssuredConfig.newConfig;
-import static org.assertj.core.api.Assertions.assertThat;
 
 import java.io.IOException;
-import java.net.InetAddress;
-import java.net.InetSocketAddress;
-import java.nio.ByteBuffer;
-import java.nio.channels.SocketChannel;
-import java.nio.charset.Charset;
 import java.nio.charset.StandardCharsets;
 
 import org.apache.james.domainlist.lib.DomainListConfiguration;
-import org.apache.james.utils.DataProbeImpl;
 import org.apache.james.utils.JmapGuiceProbe;
 import org.junit.After;
 import org.junit.Before;
@@ -52,21 +45,13 @@ public abstract class AbstractJmapJamesServerTest {
             .autoDetectIp(false)
             .build());
 
-    private static final int IMAP_PORT_SSL = 1993;
-    private static final int POP3_PORT = 1110;
-    private static final int SMTP_PORT = 1025;
-    private static final int LMTP_PORT = 1024;
-
     protected static final String JAMES_SERVER_HOST = "127.0.0.1";
-    protected static final int IMAP_PORT = 1143; // You need to be root 
(superuser) to bind to ports under 1024.
 
     protected GuiceJamesServer server;
-    private SocketChannel socketChannel;
 
     @Before
     public void setup() throws Exception {
         server = createJamesServer();
-        socketChannel = SocketChannel.open();
         server.start();
 
         RestAssured.requestSpecification = new RequestSpecBuilder()
@@ -90,52 +75,6 @@ public abstract class AbstractJmapJamesServerTest {
     }
 
     @Test
-    public void hostnameShouldBeUsedAsDefaultDomain() throws Exception {
-        String expectedDefaultDomain = 
InetAddress.getLocalHost().getHostName();
-
-        
assertThat(server.getProbe(DataProbeImpl.class).getDefaultDomain()).isEqualTo(expectedDefaultDomain);
-    }
-
-    @Test
-    public void hostnameShouldBeRetrievedWhenRestarting() throws Exception {
-        server.stop();
-        server.start();
-        String expectedDefaultDomain = 
InetAddress.getLocalHost().getHostName();
-
-        
assertThat(server.getProbe(DataProbeImpl.class).getDefaultDomain()).isEqualTo(expectedDefaultDomain);
-    }
-
-    @Test
-    public void connectIMAPServerShouldSendShabangOnConnect() throws Exception 
{
-        socketChannel.connect(new InetSocketAddress(JAMES_SERVER_HOST, 
IMAP_PORT));
-        assertThat(getServerConnectionResponse(socketChannel)).startsWith("* 
OK JAMES IMAP4rev1 Server");
-    }
-
-    @Test
-    public void 
connectOnSecondaryIMAPServerIMAPServerShouldSendShabangOnConnect() throws 
Exception {
-        socketChannel.connect(new InetSocketAddress(JAMES_SERVER_HOST, 
IMAP_PORT_SSL));
-        assertThat(getServerConnectionResponse(socketChannel)).startsWith("* 
OK JAMES IMAP4rev1 Server");
-    }
-
-    @Test
-    public void connectPOP3ServerShouldSendShabangOnConnect() throws Exception 
{
-        socketChannel.connect(new InetSocketAddress(JAMES_SERVER_HOST, 
POP3_PORT));
-        assertThat(getServerConnectionResponse(socketChannel)).contains("POP3 
server (JAMES POP3 Server ) ready");
-    }
-
-    @Test
-    public void connectSMTPServerShouldSendShabangOnConnect() throws Exception 
{
-        socketChannel.connect(new InetSocketAddress(JAMES_SERVER_HOST, 
SMTP_PORT));
-        assertThat(getServerConnectionResponse(socketChannel)).startsWith("220 
JAMES Linagora's SMTP awesome Server");
-    }
-
-    @Test
-    public void connectLMTPServerShouldSendShabangOnConnect() throws Exception 
{
-        socketChannel.connect(new InetSocketAddress(JAMES_SERVER_HOST, 
LMTP_PORT));
-        assertThat(getServerConnectionResponse(socketChannel)).contains("LMTP 
Server (JAMES Protocols Server) ready");
-    }
-
-    @Test
     public void connectJMAPServerShouldRespondBadRequest() throws Exception {
         given()
             .body("{\"badAttributeName\": \"value\"}")
@@ -144,11 +83,4 @@ public abstract class AbstractJmapJamesServerTest {
         .then()
             .statusCode(400);
     }
-
-    private String getServerConnectionResponse(SocketChannel socketChannel) 
throws IOException {
-        ByteBuffer byteBuffer = ByteBuffer.allocate(1000);
-        socketChannel.read(byteBuffer);
-        byte[] bytes = byteBuffer.array();
-        return new String(bytes, Charset.forName("UTF-8"));
-    }
 }

http://git-wip-us.apache.org/repos/asf/james-project/blob/60b1d219/server/container/guice/protocols/lmtp/src/main/java/org/apache/james/modules/protocols/LMTPServerModule.java
----------------------------------------------------------------------
diff --git 
a/server/container/guice/protocols/lmtp/src/main/java/org/apache/james/modules/protocols/LMTPServerModule.java
 
b/server/container/guice/protocols/lmtp/src/main/java/org/apache/james/modules/protocols/LMTPServerModule.java
index 4d20631..dd67a1b 100644
--- 
a/server/container/guice/protocols/lmtp/src/main/java/org/apache/james/modules/protocols/LMTPServerModule.java
+++ 
b/server/container/guice/protocols/lmtp/src/main/java/org/apache/james/modules/protocols/LMTPServerModule.java
@@ -23,12 +23,15 @@ import java.util.List;
 
 import org.apache.james.lifecycle.api.Configurable;
 import org.apache.james.lmtpserver.netty.LMTPServerFactory;
+import org.apache.james.lmtpserver.netty.OioLMTPServerFactory;
 import org.apache.james.server.core.configuration.ConfigurationProvider;
 import org.apache.james.utils.ConfigurationPerformer;
+import org.apache.james.utils.GuiceProbe;
 
 import com.google.common.collect.ImmutableList;
 import com.google.inject.AbstractModule;
 import com.google.inject.Inject;
+import com.google.inject.Scopes;
 import com.google.inject.Singleton;
 import com.google.inject.multibindings.Multibinder;
 
@@ -36,7 +39,11 @@ public class LMTPServerModule extends AbstractModule {
 
     @Override
     protected void configure() {
+        bind(LMTPServerFactory.class).in(Scopes.SINGLETON);
+        bind(OioLMTPServerFactory.class).in(Scopes.SINGLETON);
+
         Multibinder.newSetBinder(binder(), 
ConfigurationPerformer.class).addBinding().to(LMTPModuleConfigurationPerformer.class);
+        Multibinder.newSetBinder(binder(), 
GuiceProbe.class).addBinding().to(LmtpGuiceProbe.class);
     }
 
     @Singleton

http://git-wip-us.apache.org/repos/asf/james-project/blob/60b1d219/server/container/guice/protocols/lmtp/src/main/java/org/apache/james/modules/protocols/LmtpGuiceProbe.java
----------------------------------------------------------------------
diff --git 
a/server/container/guice/protocols/lmtp/src/main/java/org/apache/james/modules/protocols/LmtpGuiceProbe.java
 
b/server/container/guice/protocols/lmtp/src/main/java/org/apache/james/modules/protocols/LmtpGuiceProbe.java
new file mode 100644
index 0000000..fe8ad90
--- /dev/null
+++ 
b/server/container/guice/protocols/lmtp/src/main/java/org/apache/james/modules/protocols/LmtpGuiceProbe.java
@@ -0,0 +1,45 @@
+/****************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one   *
+ * or more contributor license agreements.  See the NOTICE file *
+ * distributed with this work for additional information        *
+ * regarding copyright ownership.  The ASF licenses this file   *
+ * to you under the Apache License, Version 2.0 (the            *
+ * "License"); you may not use this file except in compliance   *
+ * with the License.  You may obtain a copy of the License at   *
+ *                                                              *
+ *   http://www.apache.org/licenses/LICENSE-2.0                 *
+ *                                                              *
+ * Unless required by applicable law or agreed to in writing,   *
+ * software distributed under the License is distributed on an  *
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY       *
+ * KIND, either express or implied.  See the License for the    *
+ * specific language governing permissions and limitations      *
+ * under the License.                                           *
+ ****************************************************************/
+package org.apache.james.modules.protocols;
+
+import java.net.InetSocketAddress;
+
+import javax.inject.Inject;
+
+import org.apache.james.lmtpserver.netty.LMTPServerFactory;
+import org.apache.james.utils.GuiceProbe;
+
+
+public class LmtpGuiceProbe implements GuiceProbe {
+
+    private final LMTPServerFactory lmtpServerFactory;
+
+    @Inject
+    private LmtpGuiceProbe(LMTPServerFactory lmtpServerFactory) {
+        this.lmtpServerFactory = lmtpServerFactory;
+    }
+
+    public int getLmtpPort() {
+        return lmtpServerFactory.getServers().stream()
+                .findFirst()
+                .flatMap(server -> 
server.getListenAddresses().stream().findFirst())
+                .map(InetSocketAddress::getPort)
+                .orElseThrow(() -> new IllegalStateException("LMTP server not 
defined"));
+    }
+}

http://git-wip-us.apache.org/repos/asf/james-project/blob/60b1d219/server/container/guice/protocols/pop/src/main/java/org/apache/james/modules/protocols/POP3ServerModule.java
----------------------------------------------------------------------
diff --git 
a/server/container/guice/protocols/pop/src/main/java/org/apache/james/modules/protocols/POP3ServerModule.java
 
b/server/container/guice/protocols/pop/src/main/java/org/apache/james/modules/protocols/POP3ServerModule.java
index 4fbc30e..457bca5 100644
--- 
a/server/container/guice/protocols/pop/src/main/java/org/apache/james/modules/protocols/POP3ServerModule.java
+++ 
b/server/container/guice/protocols/pop/src/main/java/org/apache/james/modules/protocols/POP3ServerModule.java
@@ -22,13 +22,16 @@ package org.apache.james.modules.protocols;
 import java.util.List;
 
 import org.apache.james.lifecycle.api.Configurable;
+import org.apache.james.pop3server.netty.OioPOP3ServerFactory;
 import org.apache.james.pop3server.netty.POP3ServerFactory;
 import org.apache.james.server.core.configuration.ConfigurationProvider;
 import org.apache.james.utils.ConfigurationPerformer;
+import org.apache.james.utils.GuiceProbe;
 
 import com.google.common.collect.ImmutableList;
 import com.google.inject.AbstractModule;
 import com.google.inject.Inject;
+import com.google.inject.Scopes;
 import com.google.inject.Singleton;
 import com.google.inject.multibindings.Multibinder;
 
@@ -36,7 +39,11 @@ public class POP3ServerModule extends AbstractModule {
 
     @Override
     protected void configure() {
+        bind(POP3ServerFactory.class).in(Scopes.SINGLETON);
+        bind(OioPOP3ServerFactory.class).in(Scopes.SINGLETON);
+
         Multibinder.newSetBinder(binder(), 
ConfigurationPerformer.class).addBinding().to(POP3ModuleConfigurationPerformer.class);
+        Multibinder.newSetBinder(binder(), 
GuiceProbe.class).addBinding().to(Pop3GuiceProbe.class);
     }
 
     @Singleton

http://git-wip-us.apache.org/repos/asf/james-project/blob/60b1d219/server/container/guice/protocols/pop/src/main/java/org/apache/james/modules/protocols/Pop3GuiceProbe.java
----------------------------------------------------------------------
diff --git 
a/server/container/guice/protocols/pop/src/main/java/org/apache/james/modules/protocols/Pop3GuiceProbe.java
 
b/server/container/guice/protocols/pop/src/main/java/org/apache/james/modules/protocols/Pop3GuiceProbe.java
new file mode 100644
index 0000000..148f78c
--- /dev/null
+++ 
b/server/container/guice/protocols/pop/src/main/java/org/apache/james/modules/protocols/Pop3GuiceProbe.java
@@ -0,0 +1,45 @@
+/****************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one   *
+ * or more contributor license agreements.  See the NOTICE file *
+ * distributed with this work for additional information        *
+ * regarding copyright ownership.  The ASF licenses this file   *
+ * to you under the Apache License, Version 2.0 (the            *
+ * "License"); you may not use this file except in compliance   *
+ * with the License.  You may obtain a copy of the License at   *
+ *                                                              *
+ *   http://www.apache.org/licenses/LICENSE-2.0                 *
+ *                                                              *
+ * Unless required by applicable law or agreed to in writing,   *
+ * software distributed under the License is distributed on an  *
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY       *
+ * KIND, either express or implied.  See the License for the    *
+ * specific language governing permissions and limitations      *
+ * under the License.                                           *
+ ****************************************************************/
+package org.apache.james.modules.protocols;
+
+import java.net.InetSocketAddress;
+
+import javax.inject.Inject;
+
+import org.apache.james.pop3server.netty.POP3ServerFactory;
+import org.apache.james.utils.GuiceProbe;
+
+
+public class Pop3GuiceProbe implements GuiceProbe {
+
+    private final POP3ServerFactory pop3ServerFactory;
+
+    @Inject
+    private Pop3GuiceProbe(POP3ServerFactory pop3ServerFactory) {
+        this.pop3ServerFactory = pop3ServerFactory;
+    }
+
+    public int getPop3Port() {
+        return pop3ServerFactory.getServers().stream()
+                .findFirst()
+                .flatMap(server -> 
server.getListenAddresses().stream().findFirst())
+                .map(InetSocketAddress::getPort)
+                .orElseThrow(() -> new IllegalStateException("POP3 server not 
defined"));
+    }
+}

http://git-wip-us.apache.org/repos/asf/james-project/blob/60b1d219/server/container/guice/protocols/smtp/src/main/java/org/apache/james/modules/protocols/SMTPServerModule.java
----------------------------------------------------------------------
diff --git 
a/server/container/guice/protocols/smtp/src/main/java/org/apache/james/modules/protocols/SMTPServerModule.java
 
b/server/container/guice/protocols/smtp/src/main/java/org/apache/james/modules/protocols/SMTPServerModule.java
index 2e88204..7a55aa8 100644
--- 
a/server/container/guice/protocols/smtp/src/main/java/org/apache/james/modules/protocols/SMTPServerModule.java
+++ 
b/server/container/guice/protocols/smtp/src/main/java/org/apache/james/modules/protocols/SMTPServerModule.java
@@ -24,12 +24,15 @@ import java.util.List;
 import org.apache.james.lifecycle.api.Configurable;
 import org.apache.james.server.core.configuration.ConfigurationProvider;
 import org.apache.james.smtpserver.SendMailHandler;
+import org.apache.james.smtpserver.netty.OioSMTPServerFactory;
 import org.apache.james.smtpserver.netty.SMTPServerFactory;
 import org.apache.james.utils.ConfigurationPerformer;
+import org.apache.james.utils.GuiceProbe;
 
 import com.google.common.collect.ImmutableList;
 import com.google.inject.AbstractModule;
 import com.google.inject.Inject;
+import com.google.inject.Scopes;
 import com.google.inject.Singleton;
 import com.google.inject.multibindings.Multibinder;
 
@@ -38,8 +41,11 @@ public class SMTPServerModule extends AbstractModule {
     @Override
     protected void configure() {
         install(new JSPFModule());
+        bind(SMTPServerFactory.class).in(Scopes.SINGLETON);
+        bind(OioSMTPServerFactory.class).in(Scopes.SINGLETON);
 
         Multibinder.newSetBinder(binder(), 
ConfigurationPerformer.class).addBinding().to(SMTPModuleConfigurationPerformer.class);
+        Multibinder.newSetBinder(binder(), 
GuiceProbe.class).addBinding().to(SmtpGuiceProbe.class);
     }
 
     @Singleton

http://git-wip-us.apache.org/repos/asf/james-project/blob/60b1d219/server/container/guice/protocols/smtp/src/main/java/org/apache/james/modules/protocols/SmtpGuiceProbe.java
----------------------------------------------------------------------
diff --git 
a/server/container/guice/protocols/smtp/src/main/java/org/apache/james/modules/protocols/SmtpGuiceProbe.java
 
b/server/container/guice/protocols/smtp/src/main/java/org/apache/james/modules/protocols/SmtpGuiceProbe.java
new file mode 100644
index 0000000..1468820
--- /dev/null
+++ 
b/server/container/guice/protocols/smtp/src/main/java/org/apache/james/modules/protocols/SmtpGuiceProbe.java
@@ -0,0 +1,60 @@
+/****************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one   *
+ * or more contributor license agreements.  See the NOTICE file *
+ * distributed with this work for additional information        *
+ * regarding copyright ownership.  The ASF licenses this file   *
+ * to you under the Apache License, Version 2.0 (the            *
+ * "License"); you may not use this file except in compliance   *
+ * with the License.  You may obtain a copy of the License at   *
+ *                                                              *
+ *   http://www.apache.org/licenses/LICENSE-2.0                 *
+ *                                                              *
+ * Unless required by applicable law or agreed to in writing,   *
+ * software distributed under the License is distributed on an  *
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY       *
+ * KIND, either express or implied.  See the License for the    *
+ * specific language governing permissions and limitations      *
+ * under the License.                                           *
+ ****************************************************************/
+package org.apache.james.modules.protocols;
+
+import java.net.InetSocketAddress;
+import java.util.function.Predicate;
+
+import javax.inject.Inject;
+
+import org.apache.james.protocols.lib.netty.AbstractConfigurableAsyncServer;
+import org.apache.james.smtpserver.netty.SMTPServer;
+import org.apache.james.smtpserver.netty.SMTPServerFactory;
+import org.apache.james.utils.GuiceProbe;
+
+public class SmtpGuiceProbe implements GuiceProbe {
+
+    private final SMTPServerFactory smtpServerFactory;
+
+    @Inject
+    private SmtpGuiceProbe(SMTPServerFactory smtpServerFactory) {
+        this.smtpServerFactory = smtpServerFactory;
+    }
+
+    public int getSmtpPort() {
+        return getPort(server -> true);
+    }
+
+    public int getSmtpsPort() {
+        return getPort(AbstractConfigurableAsyncServer::getStartTLSSupported);
+    }
+
+    public Integer getSmtpAuthRequiredPort() {
+        return getPort(server -> ((SMTPServer) server).getAuthRequired() == 
SMTPServer.AUTH_REQUIRED);
+    }
+
+    private Integer getPort(Predicate<? super AbstractConfigurableAsyncServer> 
filter) {
+        return smtpServerFactory.getServers().stream()
+            .filter(filter)
+            .findFirst()
+            .flatMap(server -> 
server.getListenAddresses().stream().findFirst())
+            .map(InetSocketAddress::getPort)
+            .orElseThrow(() -> new IllegalStateException("SMTP server not 
defined"));
+    }
+}

http://git-wip-us.apache.org/repos/asf/james-project/blob/60b1d219/server/container/util/src/main/java/org/apache/james/util/Port.java
----------------------------------------------------------------------
diff --git 
a/server/container/util/src/main/java/org/apache/james/util/Port.java 
b/server/container/util/src/main/java/org/apache/james/util/Port.java
index 016c4b4..5c90aa7 100644
--- a/server/container/util/src/main/java/org/apache/james/util/Port.java
+++ b/server/container/util/src/main/java/org/apache/james/util/Port.java
@@ -29,6 +29,10 @@ public class Port {
     public static final int PRIVILEGED_PORT_BOUND = 1024;
     private static final Range<Integer> VALID_PORT_RANGE = Range.closed(1, 
MAX_PORT_VALUE);
 
+    public static Port of(int portNumber) {
+        return new Port(portNumber);
+    }
+
     public static int generateValidUnprivilegedPort() {
         return new Random().nextInt(Port.MAX_PORT_VALUE - 
PRIVILEGED_PORT_BOUND) + PRIVILEGED_PORT_BOUND;
     }

http://git-wip-us.apache.org/repos/asf/james-project/blob/60b1d219/server/mailet/integration-testing/src/test/java/org/apache/james/mailets/AddDeliveredToHeaderTest.java
----------------------------------------------------------------------
diff --git 
a/server/mailet/integration-testing/src/test/java/org/apache/james/mailets/AddDeliveredToHeaderTest.java
 
b/server/mailet/integration-testing/src/test/java/org/apache/james/mailets/AddDeliveredToHeaderTest.java
index 469f0f0..795ca91 100644
--- 
a/server/mailet/integration-testing/src/test/java/org/apache/james/mailets/AddDeliveredToHeaderTest.java
+++ 
b/server/mailet/integration-testing/src/test/java/org/apache/james/mailets/AddDeliveredToHeaderTest.java
@@ -21,14 +21,14 @@ package org.apache.james.mailets;
 
 import static org.apache.james.mailets.configuration.Constants.DEFAULT_DOMAIN;
 import static org.apache.james.mailets.configuration.Constants.FROM;
-import static org.apache.james.mailets.configuration.Constants.IMAP_PORT;
 import static org.apache.james.mailets.configuration.Constants.LOCALHOST_IP;
 import static org.apache.james.mailets.configuration.Constants.PASSWORD;
 import static org.apache.james.mailets.configuration.Constants.RECIPIENT;
-import static org.apache.james.mailets.configuration.Constants.SMTP_PORT;
 import static 
org.apache.james.mailets.configuration.Constants.awaitAtMostOneMinute;
 import static org.assertj.core.api.Assertions.assertThat;
 
+import org.apache.james.modules.protocols.ImapGuiceProbe;
+import org.apache.james.modules.protocols.SmtpGuiceProbe;
 import org.apache.james.probe.DataProbe;
 import org.apache.james.transport.mailets.AddDeliveredToHeader;
 import org.apache.james.utils.DataProbeImpl;
@@ -66,10 +66,10 @@ public class AddDeliveredToHeaderTest {
 
     @Test
     public void receivedMessagesShouldContainDeliveredToHeaders() throws 
Exception {
-        messageSender.connect(LOCALHOST_IP, SMTP_PORT)
+        messageSender.connect(LOCALHOST_IP, 
jamesServer.getProbe(SmtpGuiceProbe.class).getSmtpPort())
             .sendMessage(FROM, RECIPIENT);
 
-        imapMessageReader.connect(LOCALHOST_IP, IMAP_PORT)
+        imapMessageReader.connect(LOCALHOST_IP, 
jamesServer.getProbe(ImapGuiceProbe.class).getImapPort())
             .login(RECIPIENT, PASSWORD)
             .select(IMAPMessageReader.INBOX)
             .awaitMessage(awaitAtMostOneMinute);

http://git-wip-us.apache.org/repos/asf/james-project/blob/60b1d219/server/mailet/integration-testing/src/test/java/org/apache/james/mailets/BounceIntegrationTest.java
----------------------------------------------------------------------
diff --git 
a/server/mailet/integration-testing/src/test/java/org/apache/james/mailets/BounceIntegrationTest.java
 
b/server/mailet/integration-testing/src/test/java/org/apache/james/mailets/BounceIntegrationTest.java
index 295bdd6..0dfc134 100644
--- 
a/server/mailet/integration-testing/src/test/java/org/apache/james/mailets/BounceIntegrationTest.java
+++ 
b/server/mailet/integration-testing/src/test/java/org/apache/james/mailets/BounceIntegrationTest.java
@@ -20,17 +20,17 @@
 package org.apache.james.mailets;
 
 import static org.apache.james.mailets.configuration.Constants.DEFAULT_DOMAIN;
-import static org.apache.james.mailets.configuration.Constants.IMAP_PORT;
 import static org.apache.james.mailets.configuration.Constants.LOCALHOST_IP;
 import static org.apache.james.mailets.configuration.Constants.PASSWORD;
 import static org.apache.james.mailets.configuration.Constants.RECIPIENT;
-import static org.apache.james.mailets.configuration.Constants.SMTP_PORT;
 import static 
org.apache.james.mailets.configuration.Constants.awaitAtMostOneMinute;
 
 import org.apache.james.MemoryJamesServerMain;
 import org.apache.james.mailets.configuration.MailetConfiguration;
 import org.apache.james.mailets.configuration.MailetContainer;
 import org.apache.james.mailets.configuration.ProcessorConfiguration;
+import org.apache.james.modules.protocols.ImapGuiceProbe;
+import org.apache.james.modules.protocols.SmtpGuiceProbe;
 import org.apache.james.probe.DataProbe;
 import org.apache.james.transport.mailets.Bounce;
 import org.apache.james.transport.mailets.DSNBounce;
@@ -85,10 +85,10 @@ public class BounceIntegrationTest {
         dataProbe.addUser(RECIPIENT, PASSWORD);
         dataProbe.addUser(BOUNCE_RECEIVER, PASSWORD);
 
-        messageSender.connect(LOCALHOST_IP, SMTP_PORT)
+        messageSender.connect(LOCALHOST_IP, 
jamesServer.getProbe(SmtpGuiceProbe.class).getSmtpPort())
             .sendMessage(BOUNCE_RECEIVER, RECIPIENT);
 
-        imapMessageReader.connect(LOCALHOST_IP, IMAP_PORT)
+        imapMessageReader.connect(LOCALHOST_IP, 
jamesServer.getProbe(ImapGuiceProbe.class).getImapPort())
             .login(BOUNCE_RECEIVER, PASSWORD)
             .select(IMAPMessageReader.INBOX)
             .awaitMessage(awaitAtMostOneMinute);
@@ -110,10 +110,10 @@ public class BounceIntegrationTest {
         dataProbe.addUser(RECIPIENT, PASSWORD);
         dataProbe.addUser(BOUNCE_RECEIVER, PASSWORD);
 
-        messageSender.connect(LOCALHOST_IP, SMTP_PORT)
+        messageSender.connect(LOCALHOST_IP, 
jamesServer.getProbe(SmtpGuiceProbe.class).getSmtpPort())
             .sendMessage(BOUNCE_RECEIVER, RECIPIENT);
 
-        imapMessageReader.connect(LOCALHOST_IP, IMAP_PORT)
+        imapMessageReader.connect(LOCALHOST_IP, 
jamesServer.getProbe(ImapGuiceProbe.class).getImapPort())
             .login(BOUNCE_RECEIVER, PASSWORD)
             .select(IMAPMessageReader.INBOX)
             .awaitMessage(awaitAtMostOneMinute);
@@ -135,10 +135,10 @@ public class BounceIntegrationTest {
         dataProbe.addUser(RECIPIENT, PASSWORD);
         dataProbe.addUser(BOUNCE_RECEIVER, PASSWORD);
 
-        messageSender.connect(LOCALHOST_IP, SMTP_PORT)
+        messageSender.connect(LOCALHOST_IP, 
jamesServer.getProbe(SmtpGuiceProbe.class).getSmtpPort())
             .sendMessage("any@" + DEFAULT_DOMAIN, RECIPIENT);
 
-        imapMessageReader.connect(LOCALHOST_IP, IMAP_PORT)
+        imapMessageReader.connect(LOCALHOST_IP, 
jamesServer.getProbe(ImapGuiceProbe.class).getImapPort())
             .login(BOUNCE_RECEIVER, PASSWORD)
             .select(IMAPMessageReader.INBOX)
             .awaitMessage(awaitAtMostOneMinute);
@@ -161,10 +161,10 @@ public class BounceIntegrationTest {
         dataProbe.addUser(RECIPIENT, PASSWORD);
         dataProbe.addUser(BOUNCE_RECEIVER, PASSWORD);
 
-        messageSender.connect(LOCALHOST_IP, SMTP_PORT)
+        messageSender.connect(LOCALHOST_IP, 
jamesServer.getProbe(SmtpGuiceProbe.class).getSmtpPort())
             .sendMessage("any@" + DEFAULT_DOMAIN, RECIPIENT);
 
-        imapMessageReader.connect(LOCALHOST_IP, IMAP_PORT)
+        imapMessageReader.connect(LOCALHOST_IP, 
jamesServer.getProbe(ImapGuiceProbe.class).getImapPort())
             .login(BOUNCE_RECEIVER, PASSWORD)
             .select(IMAPMessageReader.INBOX)
             .awaitMessage(awaitAtMostOneMinute);
@@ -187,10 +187,10 @@ public class BounceIntegrationTest {
         dataProbe.addUser(RECIPIENT, PASSWORD);
         dataProbe.addUser(BOUNCE_RECEIVER, PASSWORD);
 
-        messageSender.connect(LOCALHOST_IP, SMTP_PORT)
+        messageSender.connect(LOCALHOST_IP, 
jamesServer.getProbe(SmtpGuiceProbe.class).getSmtpPort())
             .sendMessage("any@" + DEFAULT_DOMAIN, RECIPIENT);
 
-        imapMessageReader.connect(LOCALHOST_IP, IMAP_PORT)
+        imapMessageReader.connect(LOCALHOST_IP, 
jamesServer.getProbe(ImapGuiceProbe.class).getImapPort())
             .login(BOUNCE_RECEIVER, PASSWORD)
             .select(IMAPMessageReader.INBOX)
             .awaitMessage(awaitAtMostOneMinute);
@@ -212,10 +212,10 @@ public class BounceIntegrationTest {
         dataProbe.addUser(RECIPIENT, PASSWORD);
         dataProbe.addUser(BOUNCE_RECEIVER, PASSWORD);
 
-        messageSender.connect(LOCALHOST_IP, SMTP_PORT)
+        messageSender.connect(LOCALHOST_IP, 
jamesServer.getProbe(SmtpGuiceProbe.class).getSmtpPort())
             .sendMessage(BOUNCE_RECEIVER, RECIPIENT);
 
-        imapMessageReader.connect(LOCALHOST_IP, IMAP_PORT)
+        imapMessageReader.connect(LOCALHOST_IP, 
jamesServer.getProbe(ImapGuiceProbe.class).getImapPort())
             .login(BOUNCE_RECEIVER, PASSWORD)
             .select(IMAPMessageReader.INBOX)
             .awaitMessage(awaitAtMostOneMinute);
@@ -237,10 +237,10 @@ public class BounceIntegrationTest {
         dataProbe.addUser(RECIPIENT, PASSWORD);
         dataProbe.addUser(POSTMASTER, PASSWORD);
 
-        messageSender.connect(LOCALHOST_IP, SMTP_PORT)
+        messageSender.connect(LOCALHOST_IP, 
jamesServer.getProbe(SmtpGuiceProbe.class).getSmtpPort())
             .sendMessage("any@" + DEFAULT_DOMAIN, RECIPIENT);
 
-        imapMessageReader.connect(LOCALHOST_IP, IMAP_PORT)
+        imapMessageReader.connect(LOCALHOST_IP, 
jamesServer.getProbe(ImapGuiceProbe.class).getImapPort())
             .login(POSTMASTER, PASSWORD)
             .select(IMAPMessageReader.INBOX)
             .awaitMessage(awaitAtMostOneMinute);

http://git-wip-us.apache.org/repos/asf/james-project/blob/60b1d219/server/mailet/integration-testing/src/test/java/org/apache/james/mailets/CommonMailetConfigurationTest.java
----------------------------------------------------------------------
diff --git 
a/server/mailet/integration-testing/src/test/java/org/apache/james/mailets/CommonMailetConfigurationTest.java
 
b/server/mailet/integration-testing/src/test/java/org/apache/james/mailets/CommonMailetConfigurationTest.java
index 0861fdb..3728b08 100644
--- 
a/server/mailet/integration-testing/src/test/java/org/apache/james/mailets/CommonMailetConfigurationTest.java
+++ 
b/server/mailet/integration-testing/src/test/java/org/apache/james/mailets/CommonMailetConfigurationTest.java
@@ -21,13 +21,13 @@ package org.apache.james.mailets;
 
 import static org.apache.james.mailets.configuration.Constants.DEFAULT_DOMAIN;
 import static org.apache.james.mailets.configuration.Constants.FROM;
-import static org.apache.james.mailets.configuration.Constants.IMAP_PORT;
 import static org.apache.james.mailets.configuration.Constants.LOCALHOST_IP;
 import static org.apache.james.mailets.configuration.Constants.PASSWORD;
 import static org.apache.james.mailets.configuration.Constants.RECIPIENT;
-import static org.apache.james.mailets.configuration.Constants.SMTP_PORT;
 import static 
org.apache.james.mailets.configuration.Constants.awaitAtMostOneMinute;
 
+import org.apache.james.modules.protocols.ImapGuiceProbe;
+import org.apache.james.modules.protocols.SmtpGuiceProbe;
 import org.apache.james.probe.DataProbe;
 import org.apache.james.utils.DataProbeImpl;
 import org.apache.james.utils.IMAPMessageReader;
@@ -68,10 +68,10 @@ public class CommonMailetConfigurationTest {
 
     @Test
     public void simpleMailShouldBeSent() throws Exception {
-        messageSender.connect(LOCALHOST_IP, SMTP_PORT)
+        messageSender.connect(LOCALHOST_IP, 
jamesServer.getProbe(SmtpGuiceProbe.class).getSmtpPort())
             .sendMessage(FROM, RECIPIENT);
 
-        imapMessageReader.connect(LOCALHOST_IP, IMAP_PORT)
+        imapMessageReader.connect(LOCALHOST_IP, 
jamesServer.getProbe(ImapGuiceProbe.class).getImapPort())
             .login(RECIPIENT, PASSWORD)
             .select(IMAPMessageReader.INBOX)
             .awaitMessage(awaitAtMostOneMinute);

http://git-wip-us.apache.org/repos/asf/james-project/blob/60b1d219/server/mailet/integration-testing/src/test/java/org/apache/james/mailets/DirectResolutionRemoteDeliveryIntegrationTest.java
----------------------------------------------------------------------
diff --git 
a/server/mailet/integration-testing/src/test/java/org/apache/james/mailets/DirectResolutionRemoteDeliveryIntegrationTest.java
 
b/server/mailet/integration-testing/src/test/java/org/apache/james/mailets/DirectResolutionRemoteDeliveryIntegrationTest.java
index c9509a4..88f5617 100644
--- 
a/server/mailet/integration-testing/src/test/java/org/apache/james/mailets/DirectResolutionRemoteDeliveryIntegrationTest.java
+++ 
b/server/mailet/integration-testing/src/test/java/org/apache/james/mailets/DirectResolutionRemoteDeliveryIntegrationTest.java
@@ -22,10 +22,8 @@ package org.apache.james.mailets;
 import static org.apache.james.MemoryJamesServerMain.SMTP_AND_IMAP_MODULE;
 import static org.apache.james.MemoryJamesServerMain.SMTP_ONLY_MODULE;
 import static org.apache.james.mailets.configuration.Constants.DEFAULT_DOMAIN;
-import static org.apache.james.mailets.configuration.Constants.IMAP_PORT;
 import static org.apache.james.mailets.configuration.Constants.LOCALHOST_IP;
 import static org.apache.james.mailets.configuration.Constants.PASSWORD;
-import static org.apache.james.mailets.configuration.Constants.SMTP_PORT;
 import static 
org.apache.james.mailets.configuration.Constants.awaitAtMostOneMinute;
 import static 
org.apache.james.mailets.configuration.MailetConfiguration.LOCAL_DELIVERY;
 import static org.hamcrest.Matchers.equalTo;
@@ -40,6 +38,8 @@ import 
org.apache.james.mailets.configuration.CommonProcessors;
 import org.apache.james.mailets.configuration.MailetConfiguration;
 import org.apache.james.mailets.configuration.MailetContainer;
 import org.apache.james.mailets.configuration.ProcessorConfiguration;
+import org.apache.james.modules.protocols.ImapGuiceProbe;
+import org.apache.james.modules.protocols.SmtpGuiceProbe;
 import org.apache.james.probe.DataProbe;
 import org.apache.james.transport.matchers.All;
 import org.apache.james.utils.DataProbeImpl;
@@ -115,7 +115,7 @@ public class DirectResolutionRemoteDeliveryIntegrationTest {
         dataProbe.addDomain(DEFAULT_DOMAIN);
         dataProbe.addUser(FROM, PASSWORD);
 
-        messageSender.connect(LOCALHOST_IP, SMTP_PORT)
+        messageSender.connect(LOCALHOST_IP, 
jamesServer.getProbe(SmtpGuiceProbe.class).getSmtpPort())
             .sendMessage(FROM, RECIPIENT);
 
         awaitAtMostOneMinute
@@ -144,7 +144,7 @@ public class DirectResolutionRemoteDeliveryIntegrationTest {
         dataProbe.addDomain(DEFAULT_DOMAIN);
         dataProbe.addUser(FROM, PASSWORD);
 
-        messageSender.connect(LOCALHOST_IP, SMTP_PORT)
+        messageSender.connect(LOCALHOST_IP, 
jamesServer.getProbe(SmtpGuiceProbe.class).getSmtpPort())
             .sendMessage(FROM, RECIPIENT);
 
         awaitAtMostOneMinute
@@ -171,10 +171,10 @@ public class 
DirectResolutionRemoteDeliveryIntegrationTest {
         dataProbe.addDomain(DEFAULT_DOMAIN);
         dataProbe.addUser(FROM, PASSWORD);
 
-        messageSender.connect(LOCALHOST_IP, SMTP_PORT)
+        messageSender.connect(LOCALHOST_IP, 
jamesServer.getProbe(SmtpGuiceProbe.class).getSmtpPort())
             .sendMessage(FROM, RECIPIENT);
 
-        imapMessageReader.connect(LOCALHOST_IP, IMAP_PORT)
+        imapMessageReader.connect(LOCALHOST_IP, 
jamesServer.getProbe(ImapGuiceProbe.class).getImapPort())
             .login(FROM, PASSWORD)
             .select(IMAPMessageReader.INBOX)
             .awaitMessage(awaitAtMostOneMinute);
@@ -199,10 +199,10 @@ public class 
DirectResolutionRemoteDeliveryIntegrationTest {
         dataProbe.addDomain(DEFAULT_DOMAIN);
         dataProbe.addUser(FROM, PASSWORD);
 
-        messageSender.connect(LOCALHOST_IP, SMTP_PORT)
+        messageSender.connect(LOCALHOST_IP, 
jamesServer.getProbe(SmtpGuiceProbe.class).getSmtpPort())
             .sendMessage(FROM, RECIPIENT);
 
-        imapMessageReader.connect(LOCALHOST_IP, IMAP_PORT)
+        imapMessageReader.connect(LOCALHOST_IP, 
jamesServer.getProbe(ImapGuiceProbe.class).getImapPort())
             .login(FROM, PASSWORD)
             .select(IMAPMessageReader.INBOX)
             .awaitMessage(awaitAtMostOneMinute);

http://git-wip-us.apache.org/repos/asf/james-project/blob/60b1d219/server/mailet/integration-testing/src/test/java/org/apache/james/mailets/GatewayRemoteDeliveryIntegrationTest.java
----------------------------------------------------------------------
diff --git 
a/server/mailet/integration-testing/src/test/java/org/apache/james/mailets/GatewayRemoteDeliveryIntegrationTest.java
 
b/server/mailet/integration-testing/src/test/java/org/apache/james/mailets/GatewayRemoteDeliveryIntegrationTest.java
index 71c1ebe..cb43c36 100644
--- 
a/server/mailet/integration-testing/src/test/java/org/apache/james/mailets/GatewayRemoteDeliveryIntegrationTest.java
+++ 
b/server/mailet/integration-testing/src/test/java/org/apache/james/mailets/GatewayRemoteDeliveryIntegrationTest.java
@@ -22,10 +22,8 @@ package org.apache.james.mailets;
 import static org.apache.james.MemoryJamesServerMain.SMTP_AND_IMAP_MODULE;
 import static org.apache.james.MemoryJamesServerMain.SMTP_ONLY_MODULE;
 import static org.apache.james.mailets.configuration.Constants.DEFAULT_DOMAIN;
-import static org.apache.james.mailets.configuration.Constants.IMAP_PORT;
 import static org.apache.james.mailets.configuration.Constants.LOCALHOST_IP;
 import static org.apache.james.mailets.configuration.Constants.PASSWORD;
-import static org.apache.james.mailets.configuration.Constants.SMTP_PORT;
 import static 
org.apache.james.mailets.configuration.Constants.awaitAtMostOneMinute;
 import static org.assertj.core.api.Assertions.assertThat;
 import static org.hamcrest.Matchers.equalTo;
@@ -37,6 +35,8 @@ import 
org.apache.james.mailets.configuration.CommonProcessors;
 import org.apache.james.mailets.configuration.MailetConfiguration;
 import org.apache.james.mailets.configuration.MailetContainer;
 import org.apache.james.mailets.configuration.ProcessorConfiguration;
+import org.apache.james.modules.protocols.ImapGuiceProbe;
+import org.apache.james.modules.protocols.SmtpGuiceProbe;
 import org.apache.james.probe.DataProbe;
 import org.apache.james.transport.matchers.All;
 import org.apache.james.utils.DataProbeImpl;
@@ -103,7 +103,7 @@ public class GatewayRemoteDeliveryIntegrationTest {
         dataProbe.addDomain(DEFAULT_DOMAIN);
         dataProbe.addUser(FROM, PASSWORD);
 
-        messageSender.connect(LOCALHOST_IP, SMTP_PORT)
+        messageSender.connect(LOCALHOST_IP, 
jamesServer.getProbe(SmtpGuiceProbe.class).getSmtpPort())
             .sendMessage(FROM, RECIPIENT);
 
         awaitAtMostOneMinute
@@ -124,7 +124,7 @@ public class GatewayRemoteDeliveryIntegrationTest {
         dataProbe.addDomain(DEFAULT_DOMAIN);
         dataProbe.addUser(FROM, PASSWORD);
 
-        messageSender.connect(LOCALHOST_IP, SMTP_PORT)
+        messageSender.connect(LOCALHOST_IP, 
jamesServer.getProbe(SmtpGuiceProbe.class).getSmtpPort())
             .sendMessage(FROM, RECIPIENT);
 
         awaitAtMostOneMinute.until(this::messageIsReceivedByTheSmtpServer);
@@ -143,7 +143,7 @@ public class GatewayRemoteDeliveryIntegrationTest {
         dataProbe.addDomain(DEFAULT_DOMAIN);
         dataProbe.addUser(FROM, PASSWORD);
 
-        messageSender.connect(LOCALHOST_IP, SMTP_PORT)
+        messageSender.connect(LOCALHOST_IP, 
jamesServer.getProbe(SmtpGuiceProbe.class).getSmtpPort())
             .sendMessage(FROM, RECIPIENT);
 
         awaitAtMostOneMinute
@@ -164,7 +164,7 @@ public class GatewayRemoteDeliveryIntegrationTest {
         dataProbe.addDomain(DEFAULT_DOMAIN);
         dataProbe.addUser(FROM, PASSWORD);
 
-        messageSender.connect(LOCALHOST_IP, SMTP_PORT)
+        messageSender.connect(LOCALHOST_IP, 
jamesServer.getProbe(SmtpGuiceProbe.class).getSmtpPort())
             .sendMessage(FROM, RECIPIENT);
 
         awaitAtMostOneMinute
@@ -186,11 +186,11 @@ public class GatewayRemoteDeliveryIntegrationTest {
         dataProbe.addDomain(DEFAULT_DOMAIN);
         dataProbe.addUser(FROM, PASSWORD);
 
-        messageSender.connect(LOCALHOST_IP, SMTP_PORT)
+        messageSender.connect(LOCALHOST_IP, 
jamesServer.getProbe(SmtpGuiceProbe.class).getSmtpPort())
             .sendMessage(FROM, RECIPIENT);
 
         // Wait for bounce being sent before checking no email is sent
-        imapMessageReader.connect(LOCALHOST_IP, IMAP_PORT)
+        imapMessageReader.connect(LOCALHOST_IP, 
jamesServer.getProbe(ImapGuiceProbe.class).getImapPort())
             .login(FROM, PASSWORD)
             .select(IMAPMessageReader.INBOX)
             .awaitMessage(awaitAtMostOneMinute);
@@ -212,10 +212,10 @@ public class GatewayRemoteDeliveryIntegrationTest {
         dataProbe.addDomain(DEFAULT_DOMAIN);
         dataProbe.addUser(FROM, PASSWORD);
 
-        messageSender.connect(LOCALHOST_IP, SMTP_PORT)
+        messageSender.connect(LOCALHOST_IP, 
jamesServer.getProbe(SmtpGuiceProbe.class).getSmtpPort())
             .sendMessage(FROM, RECIPIENT);
 
-        imapMessageReader.connect(LOCALHOST_IP, IMAP_PORT)
+        imapMessageReader.connect(LOCALHOST_IP, 
jamesServer.getProbe(ImapGuiceProbe.class).getImapPort())
             .login(FROM, PASSWORD)
             .select(IMAPMessageReader.INBOX)
             .awaitMessage(awaitAtMostOneMinute);
@@ -241,10 +241,10 @@ public class GatewayRemoteDeliveryIntegrationTest {
         dataProbe.addDomain(DEFAULT_DOMAIN);
         dataProbe.addUser(FROM, PASSWORD);
 
-        messageSender.connect(LOCALHOST_IP, SMTP_PORT)
+        messageSender.connect(LOCALHOST_IP, 
jamesServer.getProbe(SmtpGuiceProbe.class).getSmtpPort())
             .sendMessage(FROM, RECIPIENT);
 
-        imapMessageReader.connect(LOCALHOST_IP, IMAP_PORT)
+        imapMessageReader.connect(LOCALHOST_IP, 
jamesServer.getProbe(ImapGuiceProbe.class).getImapPort())
             .login(FROM, PASSWORD)
             .select(IMAPMessageReader.INBOX)
             .awaitMessage(awaitAtMostOneMinute);

http://git-wip-us.apache.org/repos/asf/james-project/blob/60b1d219/server/mailet/integration-testing/src/test/java/org/apache/james/mailets/MailetErrorsTest.java
----------------------------------------------------------------------
diff --git 
a/server/mailet/integration-testing/src/test/java/org/apache/james/mailets/MailetErrorsTest.java
 
b/server/mailet/integration-testing/src/test/java/org/apache/james/mailets/MailetErrorsTest.java
index 0dc9ed0..5657b01 100644
--- 
a/server/mailet/integration-testing/src/test/java/org/apache/james/mailets/MailetErrorsTest.java
+++ 
b/server/mailet/integration-testing/src/test/java/org/apache/james/mailets/MailetErrorsTest.java
@@ -24,7 +24,6 @@ import static 
org.apache.james.mailets.configuration.CommonProcessors.ERROR_REPO
 import static org.apache.james.mailets.configuration.Constants.DEFAULT_DOMAIN;
 import static org.apache.james.mailets.configuration.Constants.FROM;
 import static org.apache.james.mailets.configuration.Constants.LOCALHOST_IP;
-import static org.apache.james.mailets.configuration.Constants.SMTP_PORT;
 import static 
org.apache.james.mailets.configuration.Constants.awaitAtMostOneMinute;
 
 import org.apache.james.mailets.configuration.CommonProcessors;
@@ -32,6 +31,7 @@ import 
org.apache.james.mailets.configuration.MailetConfiguration;
 import org.apache.james.mailets.configuration.MailetContainer;
 import org.apache.james.mailets.configuration.ProcessorConfiguration;
 import org.apache.james.mailrepository.api.MailRepositoryUrl;
+import org.apache.james.modules.protocols.SmtpGuiceProbe;
 import org.apache.james.transport.mailets.ErrorMailet;
 import org.apache.james.transport.mailets.ErrorMatcher;
 import org.apache.james.transport.mailets.NoopMailet;
@@ -80,7 +80,7 @@ public class MailetErrorsTest {
             .build(temporaryFolder);
         MailRepositoryProbeImpl probe = 
jamesServer.getProbe(MailRepositoryProbeImpl.class);
 
-        smtpMessageSender.connect(LOCALHOST_IP, SMTP_PORT).sendMessage(FROM, 
FROM);
+        smtpMessageSender.connect(LOCALHOST_IP, 
jamesServer.getProbe(SmtpGuiceProbe.class).getSmtpPort()).sendMessage(FROM, 
FROM);
 
         awaitAtMostOneMinute.until(() -> 
probe.getRepositoryMailCount(ERROR_REPOSITORY) == 1);
     }
@@ -99,7 +99,7 @@ public class MailetErrorsTest {
             .build(temporaryFolder);
         MailRepositoryProbeImpl probe = 
jamesServer.getProbe(MailRepositoryProbeImpl.class);
 
-        smtpMessageSender.connect(LOCALHOST_IP, SMTP_PORT).sendMessage(FROM, 
FROM);
+        smtpMessageSender.connect(LOCALHOST_IP, 
jamesServer.getProbe(SmtpGuiceProbe.class).getSmtpPort()).sendMessage(FROM, 
FROM);
 
         awaitAtMostOneMinute.until(() -> 
probe.getRepositoryMailCount(ERROR_REPOSITORY) == 1);
     }
@@ -120,7 +120,7 @@ public class MailetErrorsTest {
             .build(temporaryFolder);
         MailRepositoryProbeImpl probe = 
jamesServer.getProbe(MailRepositoryProbeImpl.class);
 
-        smtpMessageSender.connect(LOCALHOST_IP, SMTP_PORT).sendMessage(FROM, 
FROM);
+        smtpMessageSender.connect(LOCALHOST_IP, 
jamesServer.getProbe(SmtpGuiceProbe.class).getSmtpPort()).sendMessage(FROM, 
FROM);
 
         awaitAtMostOneMinute.until(() -> 
probe.getRepositoryMailCount(CUSTOM_REPOSITORY) == 1);
 
@@ -142,7 +142,7 @@ public class MailetErrorsTest {
             .build(temporaryFolder);
         MailRepositoryProbeImpl probe = 
jamesServer.getProbe(MailRepositoryProbeImpl.class);
 
-        smtpMessageSender.connect(LOCALHOST_IP, SMTP_PORT).sendMessage(FROM, 
FROM);
+        smtpMessageSender.connect(LOCALHOST_IP, 
jamesServer.getProbe(SmtpGuiceProbe.class).getSmtpPort()).sendMessage(FROM, 
FROM);
 
         awaitAtMostOneMinute.until(() -> 
probe.getRepositoryMailCount(CUSTOM_REPOSITORY) == 1);
     }
@@ -167,7 +167,7 @@ public class MailetErrorsTest {
             .build(temporaryFolder);
         MailRepositoryProbeImpl probe = 
jamesServer.getProbe(MailRepositoryProbeImpl.class);
 
-        smtpMessageSender.connect(LOCALHOST_IP, SMTP_PORT).sendMessage(FROM, 
FROM);
+        smtpMessageSender.connect(LOCALHOST_IP, 
jamesServer.getProbe(SmtpGuiceProbe.class).getSmtpPort()).sendMessage(FROM, 
FROM);
 
         awaitAtMostOneMinute.until(() -> 
probe.getRepositoryMailCount(CUSTOM_REPOSITORY) == 1);
     }
@@ -192,7 +192,7 @@ public class MailetErrorsTest {
             .build(temporaryFolder);
         MailRepositoryProbeImpl probe = 
jamesServer.getProbe(MailRepositoryProbeImpl.class);
 
-        smtpMessageSender.connect(LOCALHOST_IP, SMTP_PORT).sendMessage(FROM, 
FROM);
+        smtpMessageSender.connect(LOCALHOST_IP, 
jamesServer.getProbe(SmtpGuiceProbe.class).getSmtpPort()).sendMessage(FROM, 
FROM);
 
         awaitAtMostOneMinute.until(() -> 
probe.getRepositoryMailCount(CUSTOM_REPOSITORY) == 1);
     }
@@ -211,7 +211,7 @@ public class MailetErrorsTest {
             .build(temporaryFolder);
         MailRepositoryProbeImpl probe = 
jamesServer.getProbe(MailRepositoryProbeImpl.class);
 
-        smtpMessageSender.connect(LOCALHOST_IP, SMTP_PORT).sendMessage(FROM, 
FROM);
+        smtpMessageSender.connect(LOCALHOST_IP, 
jamesServer.getProbe(SmtpGuiceProbe.class).getSmtpPort()).sendMessage(FROM, 
FROM);
 
         awaitAtMostOneMinute.until(() -> 
probe.getRepositoryMailCount(ERROR_REPOSITORY) == 1);
     }
@@ -230,7 +230,7 @@ public class MailetErrorsTest {
             .build(temporaryFolder);
         MailRepositoryProbeImpl probe = 
jamesServer.getProbe(MailRepositoryProbeImpl.class);
 
-        smtpMessageSender.connect(LOCALHOST_IP, SMTP_PORT).sendMessage(FROM, 
FROM);
+        smtpMessageSender.connect(LOCALHOST_IP, 
jamesServer.getProbe(SmtpGuiceProbe.class).getSmtpPort()).sendMessage(FROM, 
FROM);
 
         awaitAtMostOneMinute.until(() -> 
probe.getRepositoryMailCount(ERROR_REPOSITORY) == 1);
     }
@@ -251,7 +251,7 @@ public class MailetErrorsTest {
             .build(temporaryFolder);
         MailRepositoryProbeImpl probe = 
jamesServer.getProbe(MailRepositoryProbeImpl.class);
 
-        smtpMessageSender.connect(LOCALHOST_IP, SMTP_PORT).sendMessage(FROM, 
FROM);
+        smtpMessageSender.connect(LOCALHOST_IP, 
jamesServer.getProbe(SmtpGuiceProbe.class).getSmtpPort()).sendMessage(FROM, 
FROM);
 
         awaitAtMostOneMinute.until(() -> 
probe.getRepositoryMailCount(CUSTOM_REPOSITORY) == 1);
     }
@@ -272,7 +272,7 @@ public class MailetErrorsTest {
             .build(temporaryFolder);
         MailRepositoryProbeImpl probe = 
jamesServer.getProbe(MailRepositoryProbeImpl.class);
 
-        smtpMessageSender.connect(LOCALHOST_IP, SMTP_PORT).sendMessage(FROM, 
FROM);
+        smtpMessageSender.connect(LOCALHOST_IP, 
jamesServer.getProbe(SmtpGuiceProbe.class).getSmtpPort()).sendMessage(FROM, 
FROM);
 
         awaitAtMostOneMinute.until(() -> 
probe.getRepositoryMailCount(CUSTOM_REPOSITORY) == 1);
     }
@@ -297,7 +297,7 @@ public class MailetErrorsTest {
             .build(temporaryFolder);
         MailRepositoryProbeImpl probe = 
jamesServer.getProbe(MailRepositoryProbeImpl.class);
 
-        smtpMessageSender.connect(LOCALHOST_IP, SMTP_PORT).sendMessage(FROM, 
FROM);
+        smtpMessageSender.connect(LOCALHOST_IP, 
jamesServer.getProbe(SmtpGuiceProbe.class).getSmtpPort()).sendMessage(FROM, 
FROM);
 
         awaitAtMostOneMinute.until(() -> 
probe.getRepositoryMailCount(CUSTOM_REPOSITORY) == 1);
     }
@@ -322,7 +322,7 @@ public class MailetErrorsTest {
             .build(temporaryFolder);
         MailRepositoryProbeImpl probe = 
jamesServer.getProbe(MailRepositoryProbeImpl.class);
 
-        smtpMessageSender.connect(LOCALHOST_IP, SMTP_PORT).sendMessage(FROM, 
FROM);
+        smtpMessageSender.connect(LOCALHOST_IP, 
jamesServer.getProbe(SmtpGuiceProbe.class).getSmtpPort()).sendMessage(FROM, 
FROM);
 
         awaitAtMostOneMinute.until(() -> 
probe.getRepositoryMailCount(CUSTOM_REPOSITORY) == 1);
     }
@@ -347,7 +347,7 @@ public class MailetErrorsTest {
             .build(temporaryFolder);
         MailRepositoryProbeImpl probe = 
jamesServer.getProbe(MailRepositoryProbeImpl.class);
 
-        smtpMessageSender.connect(LOCALHOST_IP, SMTP_PORT).sendMessage(FROM, 
FROM);
+        smtpMessageSender.connect(LOCALHOST_IP, 
jamesServer.getProbe(SmtpGuiceProbe.class).getSmtpPort()).sendMessage(FROM, 
FROM);
 
         awaitAtMostOneMinute.until(() -> 
probe.getRepositoryMailCount(CUSTOM_REPOSITORY) == 1);
     }
@@ -372,7 +372,7 @@ public class MailetErrorsTest {
             .build(temporaryFolder);
         MailRepositoryProbeImpl probe = 
jamesServer.getProbe(MailRepositoryProbeImpl.class);
 
-        smtpMessageSender.connect(LOCALHOST_IP, SMTP_PORT).sendMessage(FROM, 
FROM);
+        smtpMessageSender.connect(LOCALHOST_IP, 
jamesServer.getProbe(SmtpGuiceProbe.class).getSmtpPort()).sendMessage(FROM, 
FROM);
 
         awaitAtMostOneMinute.until(() -> 
probe.getRepositoryMailCount(CUSTOM_REPOSITORY) == 1);
     }
@@ -401,7 +401,7 @@ public class MailetErrorsTest {
             .build(temporaryFolder);
         MailRepositoryProbeImpl probe = 
jamesServer.getProbe(MailRepositoryProbeImpl.class);
 
-        smtpMessageSender.connect(LOCALHOST_IP, SMTP_PORT).sendMessage(FROM, 
FROM);
+        smtpMessageSender.connect(LOCALHOST_IP, 
jamesServer.getProbe(SmtpGuiceProbe.class).getSmtpPort()).sendMessage(FROM, 
FROM);
 
         awaitAtMostOneMinute.until(() -> 
probe.getRepositoryMailCount(CUSTOM_REPOSITORY) == 1);
     }
@@ -430,7 +430,7 @@ public class MailetErrorsTest {
             .build(temporaryFolder);
         MailRepositoryProbeImpl probe = 
jamesServer.getProbe(MailRepositoryProbeImpl.class);
 
-        smtpMessageSender.connect(LOCALHOST_IP, SMTP_PORT).sendMessage(FROM, 
FROM);
+        smtpMessageSender.connect(LOCALHOST_IP, 
jamesServer.getProbe(SmtpGuiceProbe.class).getSmtpPort()).sendMessage(FROM, 
FROM);
 
         awaitAtMostOneMinute.until(() -> 
probe.getRepositoryMailCount(ERROR_REPOSITORY) == 1);
     }
@@ -459,7 +459,7 @@ public class MailetErrorsTest {
             .build(temporaryFolder);
         MailRepositoryProbeImpl probe = 
jamesServer.getProbe(MailRepositoryProbeImpl.class);
 
-        smtpMessageSender.connect(LOCALHOST_IP, SMTP_PORT).sendMessage(FROM, 
FROM);
+        smtpMessageSender.connect(LOCALHOST_IP, 
jamesServer.getProbe(SmtpGuiceProbe.class).getSmtpPort()).sendMessage(FROM, 
FROM);
 
         awaitAtMostOneMinute.until(() -> 
probe.getRepositoryMailCount(CUSTOM_REPOSITORY) == 1);
     }
@@ -488,7 +488,7 @@ public class MailetErrorsTest {
             .build(temporaryFolder);
         MailRepositoryProbeImpl probe = 
jamesServer.getProbe(MailRepositoryProbeImpl.class);
 
-        smtpMessageSender.connect(LOCALHOST_IP, SMTP_PORT).sendMessage(FROM, 
FROM);
+        smtpMessageSender.connect(LOCALHOST_IP, 
jamesServer.getProbe(SmtpGuiceProbe.class).getSmtpPort()).sendMessage(FROM, 
FROM);
 
         awaitAtMostOneMinute.until(() -> 
probe.getRepositoryMailCount(ERROR_REPOSITORY) == 1);
     }

http://git-wip-us.apache.org/repos/asf/james-project/blob/60b1d219/server/mailet/integration-testing/src/test/java/org/apache/james/mailets/NetworkMatcherIntegrationTest.java
----------------------------------------------------------------------
diff --git 
a/server/mailet/integration-testing/src/test/java/org/apache/james/mailets/NetworkMatcherIntegrationTest.java
 
b/server/mailet/integration-testing/src/test/java/org/apache/james/mailets/NetworkMatcherIntegrationTest.java
index 7132860..f355a69 100644
--- 
a/server/mailet/integration-testing/src/test/java/org/apache/james/mailets/NetworkMatcherIntegrationTest.java
+++ 
b/server/mailet/integration-testing/src/test/java/org/apache/james/mailets/NetworkMatcherIntegrationTest.java
@@ -20,10 +20,8 @@
 package org.apache.james.mailets;
 
 import static org.apache.james.mailets.configuration.Constants.DEFAULT_DOMAIN;
-import static org.apache.james.mailets.configuration.Constants.IMAP_PORT;
 import static org.apache.james.mailets.configuration.Constants.LOCALHOST_IP;
 import static org.apache.james.mailets.configuration.Constants.PASSWORD;
-import static org.apache.james.mailets.configuration.Constants.SMTP_PORT;
 import static 
org.apache.james.mailets.configuration.Constants.awaitAtMostOneMinute;
 import static org.assertj.core.api.Assertions.assertThat;
 
@@ -32,6 +30,8 @@ import 
org.apache.james.mailets.configuration.CommonProcessors;
 import org.apache.james.mailets.configuration.MailetConfiguration;
 import org.apache.james.mailets.configuration.ProcessorConfiguration;
 import org.apache.james.mailrepository.api.MailRepositoryUrl;
+import org.apache.james.modules.protocols.ImapGuiceProbe;
+import org.apache.james.modules.protocols.SmtpGuiceProbe;
 import org.apache.james.probe.DataProbe;
 import org.apache.james.transport.mailets.ToProcessor;
 import org.apache.james.transport.mailets.ToRepository;
@@ -96,11 +96,11 @@ public class NetworkMatcherIntegrationTest {
                 .addProperty("processor", 
ProcessorConfiguration.STATE_TRANSPORT))
             .addMailet(toRepository()));
 
-        messageSender.connect(LOCALHOST_IP, SMTP_PORT)
+        messageSender.connect(LOCALHOST_IP, 
jamesServer.getProbe(SmtpGuiceProbe.class).getSmtpPort())
             .authenticate(FROM, PASSWORD)
             .sendMessage(FROM, FROM);
 
-        imapMessageReader.connect(LOCALHOST_IP, IMAP_PORT)
+        imapMessageReader.connect(LOCALHOST_IP, 
jamesServer.getProbe(ImapGuiceProbe.class).getImapPort())
             .login(FROM, PASSWORD)
             .select(IMAPMessageReader.INBOX)
             .awaitMessage(awaitAtMostOneMinute);
@@ -116,11 +116,11 @@ public class NetworkMatcherIntegrationTest {
                 .addProperty("processor", 
ProcessorConfiguration.STATE_TRANSPORT))
             .addMailet(toRepository()));
 
-        messageSender.connect(LOCALHOST_IP, SMTP_PORT)
+        messageSender.connect(LOCALHOST_IP, 
jamesServer.getProbe(SmtpGuiceProbe.class).getSmtpPort())
             .authenticate(FROM, PASSWORD)
             .sendMessage(FROM, FROM);
 
-        imapMessageReader.connect(LOCALHOST_IP, IMAP_PORT)
+        imapMessageReader.connect(LOCALHOST_IP, 
jamesServer.getProbe(ImapGuiceProbe.class).getImapPort())
             .login(FROM, PASSWORD)
             .select(IMAPMessageReader.INBOX)
             .awaitMessage(awaitAtMostOneMinute);
@@ -136,11 +136,11 @@ public class NetworkMatcherIntegrationTest {
                 .addProperty("processor", 
ProcessorConfiguration.STATE_TRANSPORT))
             .addMailet(toRepository()));
 
-        messageSender.connect(LOCALHOST_IP, SMTP_PORT)
+        messageSender.connect(LOCALHOST_IP, 
jamesServer.getProbe(SmtpGuiceProbe.class).getSmtpPort())
             .authenticate(FROM, PASSWORD)
             .sendMessage(FROM, FROM);
 
-        imapMessageReader.connect(LOCALHOST_IP, IMAP_PORT)
+        imapMessageReader.connect(LOCALHOST_IP, 
jamesServer.getProbe(ImapGuiceProbe.class).getImapPort())
             .login(FROM, PASSWORD)
             .select(IMAPMessageReader.INBOX)
             .awaitMessage(awaitAtMostOneMinute);
@@ -156,11 +156,11 @@ public class NetworkMatcherIntegrationTest {
                 .addProperty("processor", 
ProcessorConfiguration.STATE_TRANSPORT))
             .addMailet(toRepository()));
 
-        messageSender.connect(LOCALHOST_IP, SMTP_PORT)
+        messageSender.connect(LOCALHOST_IP, 
jamesServer.getProbe(SmtpGuiceProbe.class).getSmtpPort())
             .authenticate(FROM, PASSWORD)
             .sendMessage(FROM, FROM);
 
-        imapMessageReader.connect(LOCALHOST_IP, IMAP_PORT)
+        imapMessageReader.connect(LOCALHOST_IP, 
jamesServer.getProbe(ImapGuiceProbe.class).getImapPort())
             .login(FROM, PASSWORD)
             .select(IMAPMessageReader.INBOX)
             .awaitMessage(awaitAtMostOneMinute);
@@ -176,11 +176,11 @@ public class NetworkMatcherIntegrationTest {
                 .addProperty("processor", 
ProcessorConfiguration.STATE_TRANSPORT))
             .addMailet(toRepository()));
 
-        messageSender.connect(LOCALHOST_IP, SMTP_PORT)
+        messageSender.connect(LOCALHOST_IP, 
jamesServer.getProbe(SmtpGuiceProbe.class).getSmtpPort())
             .authenticate(FROM, PASSWORD)
             .sendMessage(FROM, FROM);
 
-        imapMessageReader.connect(LOCALHOST_IP, IMAP_PORT)
+        imapMessageReader.connect(LOCALHOST_IP, 
jamesServer.getProbe(ImapGuiceProbe.class).getImapPort())
             .login(FROM, PASSWORD)
             .select(IMAPMessageReader.INBOX)
             .awaitMessage(awaitAtMostOneMinute);
@@ -196,11 +196,11 @@ public class NetworkMatcherIntegrationTest {
                 .addProperty("processor", 
ProcessorConfiguration.STATE_TRANSPORT))
             .addMailet(toRepository()));
 
-        messageSender.connect(LOCALHOST_IP, SMTP_PORT)
+        messageSender.connect(LOCALHOST_IP, 
jamesServer.getProbe(SmtpGuiceProbe.class).getSmtpPort())
             .authenticate(FROM, PASSWORD)
             .sendMessage(FROM, FROM);
 
-        imapMessageReader.connect(LOCALHOST_IP, IMAP_PORT)
+        imapMessageReader.connect(LOCALHOST_IP, 
jamesServer.getProbe(ImapGuiceProbe.class).getImapPort())
             .login(FROM, PASSWORD)
             .select(IMAPMessageReader.INBOX)
             .awaitMessage(awaitAtMostOneMinute);
@@ -216,14 +216,14 @@ public class NetworkMatcherIntegrationTest {
                 .addProperty("processor", 
ProcessorConfiguration.STATE_TRANSPORT))
             .addMailet(toRepository()));
 
-        messageSender.connect(LOCALHOST_IP, SMTP_PORT)
+        messageSender.connect(LOCALHOST_IP, 
jamesServer.getProbe(SmtpGuiceProbe.class).getSmtpPort())
             .authenticate(FROM, PASSWORD)
             .sendMessage(FROM, FROM);
 
         MailRepositoryProbeImpl repositoryProbe = 
jamesServer.getProbe(MailRepositoryProbeImpl.class);
         awaitAtMostOneMinute.until(() -> 
repositoryProbe.getRepositoryMailCount(DROPPED_MAILS) == 1);
         assertThat(
-            imapMessageReader.connect(LOCALHOST_IP, IMAP_PORT)
+            imapMessageReader.connect(LOCALHOST_IP, 
jamesServer.getProbe(ImapGuiceProbe.class).getImapPort())
                 .login(FROM, PASSWORD)
                 .select(IMAPMessageReader.INBOX)
                 .hasAMessage())
@@ -240,14 +240,14 @@ public class NetworkMatcherIntegrationTest {
                 .addProperty("processor", 
ProcessorConfiguration.STATE_TRANSPORT))
             .addMailet(toRepository()));
 
-        messageSender.connect(LOCALHOST_IP, SMTP_PORT)
+        messageSender.connect(LOCALHOST_IP, 
jamesServer.getProbe(SmtpGuiceProbe.class).getSmtpPort())
             .authenticate(FROM, PASSWORD)
             .sendMessage(FROM, FROM);
 
         MailRepositoryProbeImpl repositoryProbe = 
jamesServer.getProbe(MailRepositoryProbeImpl.class);
         awaitAtMostOneMinute.until(() -> 
repositoryProbe.getRepositoryMailCount(DROPPED_MAILS) == 1);
         assertThat(
-            imapMessageReader.connect(LOCALHOST_IP, IMAP_PORT)
+            imapMessageReader.connect(LOCALHOST_IP, 
jamesServer.getProbe(ImapGuiceProbe.class).getImapPort())
                 .login(FROM, PASSWORD)
                 .select(IMAPMessageReader.INBOX)
                 .hasAMessage())

http://git-wip-us.apache.org/repos/asf/james-project/blob/60b1d219/server/mailet/integration-testing/src/test/java/org/apache/james/mailets/RecipientRewriteTableIntegrationTest.java
----------------------------------------------------------------------
diff --git 
a/server/mailet/integration-testing/src/test/java/org/apache/james/mailets/RecipientRewriteTableIntegrationTest.java
 
b/server/mailet/integration-testing/src/test/java/org/apache/james/mailets/RecipientRewriteTableIntegrationTest.java
index 4bc8a3c..2b5d709 100644
--- 
a/server/mailet/integration-testing/src/test/java/org/apache/james/mailets/RecipientRewriteTableIntegrationTest.java
+++ 
b/server/mailet/integration-testing/src/test/java/org/apache/james/mailets/RecipientRewriteTableIntegrationTest.java
@@ -20,13 +20,13 @@
 package org.apache.james.mailets;
 
 import static org.apache.james.mailets.configuration.Constants.DEFAULT_DOMAIN;
-import static org.apache.james.mailets.configuration.Constants.IMAP_PORT;
 import static org.apache.james.mailets.configuration.Constants.LOCALHOST_IP;
 import static org.apache.james.mailets.configuration.Constants.PASSWORD;
-import static org.apache.james.mailets.configuration.Constants.SMTP_PORT;
 import static 
org.apache.james.mailets.configuration.Constants.awaitAtMostOneMinute;
 import static org.assertj.core.api.Assertions.assertThat;
 
+import org.apache.james.modules.protocols.ImapGuiceProbe;
+import org.apache.james.modules.protocols.SmtpGuiceProbe;
 import org.apache.james.probe.DataProbe;
 import org.apache.james.utils.DataProbeImpl;
 import org.apache.james.utils.IMAPMessageReader;
@@ -81,10 +81,10 @@ public class RecipientRewriteTableIntegrationTest {
 
     @Test
     public void rrtServiceShouldNotImpactRecipientsNotMatchingAnyRRT() throws 
Exception {
-        messageSender.connect(LOCALHOST_IP, SMTP_PORT)
+        messageSender.connect(LOCALHOST_IP, 
jamesServer.getProbe(SmtpGuiceProbe.class).getSmtpPort())
             .sendMessage(FROM, RECIPIENT);
 
-        imapMessageReader.connect(LOCALHOST_IP, IMAP_PORT)
+        imapMessageReader.connect(LOCALHOST_IP, 
jamesServer.getProbe(ImapGuiceProbe.class).getImapPort())
             .login(RECIPIENT, PASSWORD)
             .select(IMAPMessageReader.INBOX)
             .awaitMessage(awaitAtMostOneMinute);
@@ -96,15 +96,15 @@ public class RecipientRewriteTableIntegrationTest {
         dataProbe.addAddressMapping(RECIPIENT_LOCAL_PART, DEFAULT_DOMAIN, 
ANY_AT_JAMES);
         dataProbe.addAddressMapping(RECIPIENT_LOCAL_PART, DEFAULT_DOMAIN, 
OTHER_AT_JAMES);
 
-        messageSender.connect(LOCALHOST_IP, SMTP_PORT)
+        messageSender.connect(LOCALHOST_IP, 
jamesServer.getProbe(SmtpGuiceProbe.class).getSmtpPort())
             .sendMessage(FROM, RECIPIENT);
 
-        imapMessageReader.connect(LOCALHOST_IP, IMAP_PORT)
+        imapMessageReader.connect(LOCALHOST_IP, 
jamesServer.getProbe(ImapGuiceProbe.class).getImapPort())
             .login(ANY_AT_JAMES, PASSWORD)
             .select(IMAPMessageReader.INBOX)
             .awaitMessage(awaitAtMostOneMinute);
         assertThat(imapMessageReader.readFirstMessage()).isNotNull();
-        imapMessageReader.connect(LOCALHOST_IP, IMAP_PORT)
+        imapMessageReader.connect(LOCALHOST_IP, 
jamesServer.getProbe(ImapGuiceProbe.class).getImapPort())
             .login(OTHER_AT_JAMES, PASSWORD)
             .select(IMAPMessageReader.INBOX)
             .awaitMessage(awaitAtMostOneMinute);
@@ -116,10 +116,10 @@ public class RecipientRewriteTableIntegrationTest {
         dataProbe.addAddressMapping(RECIPIENT_LOCAL_PART, DEFAULT_DOMAIN, 
ANY_AT_JAMES);
         dataProbe.addAddressMapping(RECIPIENT_LOCAL_PART, DEFAULT_DOMAIN, 
OTHER_AT_JAMES);
 
-        messageSender.connect(LOCALHOST_IP, SMTP_PORT)
+        messageSender.connect(LOCALHOST_IP, 
jamesServer.getProbe(SmtpGuiceProbe.class).getSmtpPort())
             .sendMessage(FROM, RECIPIENT);
 
-        imapMessageReader.connect(LOCALHOST_IP, IMAP_PORT)
+        imapMessageReader.connect(LOCALHOST_IP, 
jamesServer.getProbe(ImapGuiceProbe.class).getImapPort())
             .login(RECIPIENT, PASSWORD)
             .select(IMAPMessageReader.INBOX)
             .awaitNoMessage(awaitAtMostOneMinute);
@@ -135,15 +135,15 @@ public class RecipientRewriteTableIntegrationTest {
         dataProbe.addAddressMapping(RECIPIENT_LOCAL_PART, DEFAULT_DOMAIN, 
nonDomainUser);
         dataProbe.addAddressMapping(RECIPIENT_LOCAL_PART, DEFAULT_DOMAIN, 
OTHER_AT_JAMES);
 
-        messageSender.connect(LOCALHOST_IP, SMTP_PORT)
+        messageSender.connect(LOCALHOST_IP, 
jamesServer.getProbe(SmtpGuiceProbe.class).getSmtpPort())
             .sendMessage(FROM, RECIPIENT);
 
-        imapMessageReader.connect(LOCALHOST_IP, IMAP_PORT)
+        imapMessageReader.connect(LOCALHOST_IP, 
jamesServer.getProbe(ImapGuiceProbe.class).getImapPort())
             .login(localUser, PASSWORD)
             .select(IMAPMessageReader.INBOX)
             .awaitMessage(awaitAtMostOneMinute);
         assertThat(imapMessageReader.readFirstMessage()).isNotNull();
-        imapMessageReader.connect(LOCALHOST_IP, IMAP_PORT)
+        imapMessageReader.connect(LOCALHOST_IP, 
jamesServer.getProbe(ImapGuiceProbe.class).getImapPort())
             .login(OTHER_AT_JAMES, PASSWORD)
             .select(IMAPMessageReader.INBOX)
             .awaitMessage(awaitAtMostOneMinute);
@@ -155,10 +155,10 @@ public class RecipientRewriteTableIntegrationTest {
         dataProbe.addDomainAliasMapping(DEFAULT_DOMAIN, JAMES_ANOTHER_DOMAIN);
         dataProbe.addUser(ANY_AT_ANOTHER_DOMAIN, PASSWORD);
 
-        messageSender.connect(LOCALHOST_IP, SMTP_PORT)
+        messageSender.connect(LOCALHOST_IP, 
jamesServer.getProbe(SmtpGuiceProbe.class).getSmtpPort())
             .sendMessage(FROM, ANY_AT_JAMES);
 
-        imapMessageReader.connect(LOCALHOST_IP, IMAP_PORT)
+        imapMessageReader.connect(LOCALHOST_IP, 
jamesServer.getProbe(ImapGuiceProbe.class).getImapPort())
             .login(ANY_AT_ANOTHER_DOMAIN, PASSWORD)
             .select(IMAPMessageReader.INBOX)
             .awaitMessage(awaitAtMostOneMinute);
@@ -170,10 +170,10 @@ public class RecipientRewriteTableIntegrationTest {
         dataProbe.addDomainAliasMapping(DEFAULT_DOMAIN, JAMES_ANOTHER_DOMAIN);
         dataProbe.addUser(ANY_AT_ANOTHER_DOMAIN, PASSWORD);
 
-        messageSender.connect(LOCALHOST_IP, SMTP_PORT)
+        messageSender.connect(LOCALHOST_IP, 
jamesServer.getProbe(SmtpGuiceProbe.class).getSmtpPort())
             .sendMessage(FROM, ANY_AT_JAMES);
 
-        imapMessageReader.connect(LOCALHOST_IP, IMAP_PORT)
+        imapMessageReader.connect(LOCALHOST_IP, 
jamesServer.getProbe(ImapGuiceProbe.class).getImapPort())
             .login(ANY_AT_JAMES, PASSWORD)
             .select(IMAPMessageReader.INBOX)
             .awaitNoMessage(awaitAtMostOneMinute);
@@ -185,14 +185,14 @@ public class RecipientRewriteTableIntegrationTest {
         dataProbe.addForwardMapping(RECIPIENT_LOCAL_PART, DEFAULT_DOMAIN, 
ANY_AT_JAMES);
         dataProbe.addForwardMapping(RECIPIENT_LOCAL_PART, DEFAULT_DOMAIN, 
OTHER_AT_JAMES);
 
-        messageSender.connect(LOCALHOST_IP, SMTP_PORT)
+        messageSender.connect(LOCALHOST_IP, 
jamesServer.getProbe(SmtpGuiceProbe.class).getSmtpPort())
             .sendMessage(FROM, RECIPIENT);
 
-        imapMessageReader.connect(LOCALHOST_IP, IMAP_PORT)
+        imapMessageReader.connect(LOCALHOST_IP, 
jamesServer.getProbe(ImapGuiceProbe.class).getImapPort())
             .login(ANY_AT_JAMES, PASSWORD)
             .select(IMAPMessageReader.INBOX)
             .awaitMessage(awaitAtMostOneMinute);
-        imapMessageReader.connect(LOCALHOST_IP, IMAP_PORT)
+        imapMessageReader.connect(LOCALHOST_IP, 
jamesServer.getProbe(ImapGuiceProbe.class).getImapPort())
             .login(OTHER_AT_JAMES, PASSWORD)
             .select(IMAPMessageReader.INBOX)
             .awaitMessage(awaitAtMostOneMinute);
@@ -205,10 +205,10 @@ public class RecipientRewriteTableIntegrationTest {
 
         dataProbe.addForwardMapping(ANY_LOCAL_PART, DEFAULT_DOMAIN, 
OTHER_AT_JAMES);
 
-        messageSender.connect(LOCALHOST_IP, SMTP_PORT)
+        messageSender.connect(LOCALHOST_IP, 
jamesServer.getProbe(SmtpGuiceProbe.class).getSmtpPort())
             .sendMessage(FROM, GROUP);
 
-        imapMessageReader.connect(LOCALHOST_IP, IMAP_PORT)
+        imapMessageReader.connect(LOCALHOST_IP, 
jamesServer.getProbe(ImapGuiceProbe.class).getImapPort())
             .login(OTHER_AT_JAMES, PASSWORD)
             .select(IMAPMessageReader.INBOX)
             .awaitMessage(awaitAtMostOneMinute);


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org
For additional commands, e-mail: server-dev-h...@james.apache.org

Reply via email to