List of usage examples for org.apache.commons.net.smtp SMTPClient connect
public void connect(InetAddress host, int port) throws SocketException, IOException
From source file:org.apache.james.protocols.smtp.AbstractSMTPServerTest.java
@Test public void testMessageHookPermanentError() throws Exception { TestMessageHook testHook = new TestMessageHook(); MessageHook hook = new MessageHook() { @Override/*w ww. j a va 2s . c om*/ public void init(Configuration config) throws ConfigurationException { } @Override public void destroy() { } public HookResult onMessage(SMTPSession session, MailEnvelope mail) { return new HookResult(HookReturnCode.DENY); } }; InetSocketAddress address = new InetSocketAddress("127.0.0.1", TestUtils.getFreePort()); ProtocolServer server = null; try { server = createServer(createProtocol(hook, testHook), address); server.bind(); SMTPClient client = createClient(); client.connect(address.getAddress().getHostAddress(), address.getPort()); assertTrue("Reply=" + client.getReplyString(), SMTPReply.isPositiveCompletion(client.getReplyCode())); client.helo("localhost"); assertTrue("Reply=" + client.getReplyString(), SMTPReply.isPositiveCompletion(client.getReplyCode())); client.setSender(SENDER); assertTrue("Reply=" + client.getReplyString(), SMTPReply.isPositiveCompletion(client.getReplyCode())); client.addRecipient(RCPT2); assertTrue("Reply=" + client.getReplyString(), SMTPReply.isPositiveCompletion(client.getReplyCode())); assertFalse(client.sendShortMessageData(MSG1)); assertTrue("Reply=" + client.getReplyString(), SMTPReply.isNegativePermanent(client.getReplyCode())); client.quit(); assertTrue("Reply=" + client.getReplyString(), SMTPReply.isPositiveCompletion(client.getReplyCode())); client.disconnect(); Iterator<MailEnvelope> queued = testHook.getQueued().iterator(); assertFalse(queued.hasNext()); } finally { if (server != null) { server.unbind(); } } }
From source file:org.apache.james.protocols.smtp.AbstractSMTPServerTest.java
@Test public void testMessageHookTemporaryError() throws Exception { TestMessageHook testHook = new TestMessageHook(); MessageHook hook = new MessageHook() { @Override//www . j av a2 s. c o m public void init(Configuration config) throws ConfigurationException { } @Override public void destroy() { } public HookResult onMessage(SMTPSession session, MailEnvelope mail) { return new HookResult(HookReturnCode.DENYSOFT); } }; InetSocketAddress address = new InetSocketAddress("127.0.0.1", TestUtils.getFreePort()); ProtocolServer server = null; try { server = createServer(createProtocol(hook, testHook), address); server.bind(); SMTPClient client = createClient(); client.connect(address.getAddress().getHostAddress(), address.getPort()); assertTrue("Reply=" + client.getReplyString(), SMTPReply.isPositiveCompletion(client.getReplyCode())); client.helo("localhost"); assertTrue("Reply=" + client.getReplyString(), SMTPReply.isPositiveCompletion(client.getReplyCode())); client.setSender(SENDER); assertTrue("Reply=" + client.getReplyString(), SMTPReply.isPositiveCompletion(client.getReplyCode())); client.addRecipient(RCPT2); assertTrue("Reply=" + client.getReplyString(), SMTPReply.isPositiveCompletion(client.getReplyCode())); assertFalse(client.sendShortMessageData(MSG1)); assertTrue("Reply=" + client.getReplyString(), SMTPReply.isNegativeTransient(client.getReplyCode())); client.quit(); assertTrue("Reply=" + client.getReplyString(), SMTPReply.isPositiveCompletion(client.getReplyCode())); client.disconnect(); Iterator<MailEnvelope> queued = testHook.getQueued().iterator(); assertFalse(queued.hasNext()); } finally { if (server != null) { server.unbind(); } } }
From source file:org.apache.james.protocols.smtp.AbstractSMTPServerTest.java
@Test public void testConnectHandlerPermananet() throws Exception { ConnectHandler<SMTPSession> connectHandler = new ConnectHandler<SMTPSession>() { @Override/*from ww w . java2s . c om*/ public void init(Configuration config) throws ConfigurationException { } @Override public void destroy() { } public Response onConnect(SMTPSession session) { return new SMTPResponse("554", "Bye Bye"); } }; InetSocketAddress address = new InetSocketAddress("127.0.0.1", TestUtils.getFreePort()); ProtocolServer server = null; try { server = createServer(createProtocol(connectHandler), address); server.bind(); SMTPClient client = createClient(); client.connect(address.getAddress().getHostAddress(), address.getPort()); assertTrue("Reply=" + client.getReplyString(), SMTPReply.isNegativePermanent(client.getReplyCode())); client.disconnect(); } finally { if (server != null) { server.unbind(); } } }
From source file:org.apache.james.protocols.smtp.AbstractSMTPServerTest.java
@Test public void testConnectHandlerTemporary() throws Exception { ConnectHandler<SMTPSession> connectHandler = new ConnectHandler<SMTPSession>() { @Override//from www. j av a2s . co m public void init(Configuration config) throws ConfigurationException { } @Override public void destroy() { } public Response onConnect(SMTPSession session) { return new SMTPResponse("451", "Bye Bye"); } }; InetSocketAddress address = new InetSocketAddress("127.0.0.1", TestUtils.getFreePort()); ProtocolServer server = null; try { server = createServer(createProtocol(connectHandler), address); server.bind(); SMTPClient client = createClient(); client.connect(address.getAddress().getHostAddress(), address.getPort()); assertTrue("Reply=" + client.getReplyString(), SMTPReply.isNegativeTransient(client.getReplyCode())); client.disconnect(); } finally { if (server != null) { server.unbind(); } } }
From source file:org.apache.james.protocols.smtp.AbstractSMTPServerTest.java
@Test public void testDisconnectHandler() throws Exception { final AtomicBoolean called = new AtomicBoolean(false); DisconnectHandler<SMTPSession> handler = new DisconnectHandler<SMTPSession>() { @Override//from w w w .ja va2 s . com public void init(Configuration config) throws ConfigurationException { } @Override public void destroy() { } public void onDisconnect(SMTPSession session) { called.set(true); } }; InetSocketAddress address = new InetSocketAddress("127.0.0.1", TestUtils.getFreePort()); ProtocolServer server = null; try { server = createServer(createProtocol(handler), address); server.bind(); SMTPClient client = createClient(); client.connect(address.getAddress().getHostAddress(), address.getPort()); assertTrue("Reply=" + client.getReplyString(), SMTPReply.isPositiveCompletion(client.getReplyCode())); client.disconnect(); Thread.sleep(1000); assertTrue(called.get()); } finally { if (server != null) { server.unbind(); } } }
From source file:org.apache.james.smtpserver.SMTPServerTest.java
@Test public void testMaxLineLength() throws Exception { init(smtpConfiguration);/*from w w w . j av a 2 s.com*/ SMTPClient smtpProtocol = new SMTPClient(); smtpProtocol.connect("127.0.0.1", smtpListenerPort); StringBuilder sb = new StringBuilder(); for (int i = 0; i < AbstractChannelPipelineFactory.MAX_LINE_LENGTH; i++) { sb.append("A"); } smtpProtocol.sendCommand("EHLO " + sb.toString()); System.out.println(smtpProtocol.getReplyString()); assertEquals("Line length exceed", 500, smtpProtocol.getReplyCode()); smtpProtocol.sendCommand("EHLO test"); assertEquals("Line length ok", 250, smtpProtocol.getReplyCode()); smtpProtocol.quit(); smtpProtocol.disconnect(); }
From source file:org.apache.james.smtpserver.SMTPServerTest.java
@Test public void testConnectionLimit() throws Exception { smtpConfiguration.setConnectionLimit(2); init(smtpConfiguration);//from ww w . j a v a 2 s . co m SMTPClient smtpProtocol = new SMTPClient(); smtpProtocol.connect("127.0.0.1", smtpListenerPort); SMTPClient smtpProtocol2 = new SMTPClient(); smtpProtocol2.connect("127.0.0.1", smtpListenerPort); SMTPClient smtpProtocol3 = new SMTPClient(); try { smtpProtocol3.connect("127.0.0.1", smtpListenerPort); Thread.sleep(3000); fail("Shold disconnect connection 3"); } catch (Exception e) { } smtpProtocol.quit(); smtpProtocol.disconnect(); smtpProtocol2.quit(); smtpProtocol2.disconnect(); smtpProtocol3.connect("127.0.0.1", smtpListenerPort); Thread.sleep(3000); }
From source file:org.apache.james.smtpserver.SMTPServerTest.java
@Test public void testSimpleMailSendWithEHLO() throws Exception { init(smtpConfiguration);/*w ww . ja va 2s . com*/ SMTPClient smtpProtocol = new SMTPClient(); smtpProtocol.connect("127.0.0.1", smtpListenerPort); // no message there, yet assertNull("no mail received by mail server", queue.getLastMail()); smtpProtocol.sendCommand("EHLO " + InetAddress.getLocalHost()); String[] capabilityRes = smtpProtocol.getReplyStrings(); List<String> capabilitieslist = new ArrayList<String>(); for (int i = 1; i < capabilityRes.length; i++) { capabilitieslist.add(capabilityRes[i].substring(4)); } assertEquals("capabilities", 3, capabilitieslist.size()); assertTrue("capabilities present PIPELINING", capabilitieslist.contains("PIPELINING")); assertTrue("capabilities present ENHANCEDSTATUSCODES", capabilitieslist.contains("ENHANCEDSTATUSCODES")); assertTrue("capabilities present 8BITMIME", capabilitieslist.contains("8BITMIME")); smtpProtocol.setSender("mail@localhost"); smtpProtocol.addRecipient("mail@localhost"); smtpProtocol.sendShortMessageData("Subject: test\r\n\r\nBody\r\n\r\n.\r\n"); smtpProtocol.quit(); smtpProtocol.disconnect(); // mail was propagated by SMTPServer assertNotNull("mail received by mail server", queue.getLastMail()); }
From source file:org.apache.james.smtpserver.SMTPServerTest.java
@Test public void testStartTLSInEHLO() throws Exception { smtpConfiguration.setStartTLS();/* ww w . j av a 2s . c om*/ init(smtpConfiguration); SMTPClient smtpProtocol = new SMTPClient(); smtpProtocol.connect("127.0.0.1", smtpListenerPort); // no message there, yet assertNull("no mail received by mail server", queue.getLastMail()); smtpProtocol.sendCommand("EHLO " + InetAddress.getLocalHost()); String[] capabilityRes = smtpProtocol.getReplyStrings(); List<String> capabilitieslist = new ArrayList<String>(); for (int i = 1; i < capabilityRes.length; i++) { capabilitieslist.add(capabilityRes[i].substring(4)); } assertEquals("capabilities", 4, capabilitieslist.size()); assertTrue("capabilities present PIPELINING", capabilitieslist.contains("PIPELINING")); assertTrue("capabilities present ENHANCEDSTATUSCODES", capabilitieslist.contains("ENHANCEDSTATUSCODES")); assertTrue("capabilities present 8BITMIME", capabilitieslist.contains("8BITMIME")); assertTrue("capabilities present STARTTLS", capabilitieslist.contains("STARTTLS")); smtpProtocol.quit(); smtpProtocol.disconnect(); }
From source file:org.apache.james.smtpserver.SMTPServerTest.java
protected SMTPClient newSMTPClient() throws IOException { SMTPClient smtp = new SMTPClient(); smtp.connect("127.0.0.1", smtpListenerPort); if (log.isDebugEnabled()) { smtp.addProtocolCommandListener(new ProtocolCommandListener() { @Override/*from www . j a va 2 s .c o m*/ public void protocolCommandSent(ProtocolCommandEvent event) { log.debug("> " + event.getMessage().trim()); } @Override public void protocolReplyReceived(ProtocolCommandEvent event) { log.debug("< " + event.getMessage().trim()); } }); } return smtp; }