List of usage examples for org.apache.commons.net.smtp SMTPClient getReplyCode
public int getReplyCode()
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/*from w w w. ja v a 2 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.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//w w w . j av a2 s . co 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/*w w w . j a va 2 s . 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 w w w.j a va2 s . com 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/* w w w . ja v a2 s . c o m*/ 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 a va 2 s . c o m 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
private void doTestHeloEhloResolv(String heloCommand) throws IOException { SMTPClient smtpProtocol = new SMTPClient(); smtpProtocol.connect("127.0.0.1", smtpListenerPort); assertTrue("first connection taken", smtpProtocol.isConnected()); // no message there, yet assertNull("no mail received by mail server", queue.getLastMail()); String fictionalDomain = "abgsfe3rsf.de"; String existingDomain = "james.apache.org"; String mail = "sender@james.apache.org"; String rcpt = "rcpt@localhost"; smtpProtocol.sendCommand(heloCommand, fictionalDomain); smtpProtocol.setSender(mail);// ww w.j a va2s .c o m smtpProtocol.addRecipient(rcpt); // this should give a 501 code cause the helo/ehlo could not resolved assertEquals("expected error: " + heloCommand + " could not resolved", 501, smtpProtocol.getReplyCode()); smtpProtocol.sendCommand(heloCommand, existingDomain); smtpProtocol.setSender(mail); smtpProtocol.addRecipient(rcpt); if (smtpProtocol.getReplyCode() == 501) { fail(existingDomain + " domain currently cannot be resolved (check your DNS/internet connection/proxy settings to make test pass)"); } // helo/ehlo is resolvable. so this should give a 250 code assertEquals(heloCommand + " accepted", 250, smtpProtocol.getReplyCode()); smtpProtocol.quit(); }
From source file:org.apache.james.smtpserver.SMTPServerTest.java
@Test public void testHeloResolvDefault() throws Exception { init(smtpConfiguration);/* w w w . j a va2 s . c o m*/ SMTPClient smtpProtocol1 = new SMTPClient(); smtpProtocol1.connect("127.0.0.1", smtpListenerPort); smtpProtocol1.helo("abgsfe3rsf.de"); // helo should not be checked. so this should give a 250 code assertEquals("Helo accepted", 250, smtpProtocol1.getReplyCode()); smtpProtocol1.quit(); }
From source file:org.apache.james.smtpserver.SMTPServerTest.java
@Test public void testReverseEqualsHelo() throws Exception { smtpConfiguration.setReverseEqualsHelo(); smtpConfiguration.setAuthorizedAddresses("192.168.0.1"); // temporary alter the loopback resolution try {/*from w w w .j a v a 2 s . c o m*/ dnsServer.setLocalhostByName(InetAddress.getByName("james.apache.org")); } catch (UnknownHostException e) { fail("james.apache.org currently cannot be resolved (check your DNS/internet connection/proxy settings to make test pass)"); } try { init(smtpConfiguration); SMTPClient smtpProtocol1 = new SMTPClient(); smtpProtocol1.connect("127.0.0.1", smtpListenerPort); assertTrue("first connection taken", smtpProtocol1.isConnected()); // no message there, yet assertNull("no mail received by mail server", queue.getLastMail()); String helo1 = "abgsfe3rsf.de"; String helo2 = "james.apache.org"; String mail = "sender"; String rcpt = "recipient"; smtpProtocol1.sendCommand("helo", helo1); smtpProtocol1.setSender(mail); smtpProtocol1.addRecipient(rcpt); // this should give a 501 code cause the helo not equal reverse of // ip assertEquals("expected error: helo not equals reverse of ip", 501, smtpProtocol1.getReplyCode()); smtpProtocol1.sendCommand("helo", helo2); smtpProtocol1.setSender(mail); smtpProtocol1.addRecipient(rcpt); // helo is resolvable. so this should give a 250 code assertEquals("Helo accepted", 250, smtpProtocol1.getReplyCode()); smtpProtocol1.quit(); } finally { dnsServer.setLocalhostByName(null); } }
From source file:org.apache.james.smtpserver.SMTPServerTest.java
@Test public void testSenderDomainResolv() throws Exception { smtpConfiguration.setSenderDomainResolv(); smtpConfiguration.setAuthorizedAddresses("192.168.0.1/32"); init(smtpConfiguration);/*from ww w.j av a 2 s. c om*/ SMTPClient smtpProtocol1 = new SMTPClient(); smtpProtocol1.connect("127.0.0.1", smtpListenerPort); assertTrue("first connection taken", smtpProtocol1.isConnected()); // no message there, yet assertNull("no mail received by mail server", queue.getLastMail()); smtpProtocol1.helo(InetAddress.getLocalHost().toString()); String sender1 = "mail_sender1@xfwrqqfgfe.de"; smtpProtocol1.setSender(sender1); assertEquals("expected 501 error", 501, smtpProtocol1.getReplyCode()); smtpProtocol1.addRecipient("test@localhost"); assertEquals("Recipient not accepted cause no valid sender", 503, smtpProtocol1.getReplyCode()); smtpProtocol1.quit(); }