List of usage examples for org.apache.commons.net.smtp SMTPClient addRecipient
public boolean addRecipient(String address) throws IOException
From source file:org.apache.james.protocols.smtp.AbstractSMTPServerTest.java
@Test public void testRcptHookTemporaryError() throws Exception { RcptHook hook = new RcptHook() { @Override/*from ww w . jav a2 s .c o m*/ public void init(Configuration config) throws ConfigurationException { } @Override public void destroy() { } public HookResult doRcpt(SMTPSession session, MailAddress sender, MailAddress rcpt) { if (RCPT1.equals(rcpt.toString())) { return new HookResult(HookReturnCode.DENYSOFT); } else { return new HookResult(HookReturnCode.DECLINED); } } }; InetSocketAddress address = new InetSocketAddress("127.0.0.1", TestUtils.getFreePort()); ProtocolServer server = null; try { server = createServer(createProtocol(hook), 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(RCPT1); assertTrue("Reply=" + client.getReplyString(), SMTPReply.isNegativeTransient(client.getReplyCode())); client.addRecipient(RCPT2); assertTrue("Reply=" + client.getReplyString(), SMTPReply.isPositiveCompletion(client.getReplyCode())); client.quit(); assertTrue("Reply=" + client.getReplyString(), SMTPReply.isPositiveCompletion(client.getReplyCode())); client.disconnect(); } finally { if (server != null) { server.unbind(); } } }
From source file:org.apache.james.protocols.smtp.AbstractSMTPServerTest.java
@Test public void testNullSender() throws Exception { InetSocketAddress address = new InetSocketAddress("127.0.0.1", TestUtils.getFreePort()); ProtocolServer server = null;/*w w w. jav a 2 s. c o m*/ try { server = createServer(createProtocol(new ProtocolHandler[0]), 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(""); assertTrue("Reply=" + client.getReplyString(), SMTPReply.isPositiveCompletion(client.getReplyCode())); client.addRecipient(RCPT1); assertTrue("Reply=" + client.getReplyString(), SMTPReply.isPositiveCompletion(client.getReplyCode())); client.quit(); assertTrue("Reply=" + client.getReplyString(), SMTPReply.isPositiveCompletion(client.getReplyCode())); client.disconnect(); } finally { if (server != null) { server.unbind(); } } }
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 ww w. j a va 2 s . 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//from w ww .j a v a 2s. com 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.smtpserver.SMTPServerTest.java
@Test public void testSimpleMailSendWithEHLO() throws Exception { init(smtpConfiguration);// w w w . j av a 2s .c o m 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 testReceivedHeader() throws Exception { init(smtpConfiguration);/* w w w. j ava 2s .c om*/ SMTPClient smtp = newSMTPClient(); // no message there, yet assertNull("no mail received by mail server", queue.getLastMail()); smtp.helo(InetAddress.getLocalHost().toString()); smtp.setSender("mail@localhost"); smtp.addRecipient("mail@localhost"); smtp.sendShortMessageData("Subject: test\r\n\r\n"); smtp.quit(); smtp.disconnect(); assertNotNull("spooled mail has Received header", queue.getLastMail().getMessage().getHeader("Received")); }
From source file:org.apache.james.smtpserver.SMTPServerTest.java
@Ignore @Test//from w w w. ja va 2 s . c o m public void testEmptyMessageReceivedHeader() throws Exception { init(smtpConfiguration); SMTPClient smtp = newSMTPClient(); // no message there, yet assertNull("no mail received by mail server", queue.getLastMail()); smtp.helo(InetAddress.getLocalHost().toString()); smtp.setSender("mail@localhost"); smtp.addRecipient("mail@localhost"); smtp.sendShortMessageData(""); smtp.quit(); smtp.disconnect(); assertNotNull("spooled mail has Received header", queue.getLastMail().getMessage().getHeader("Received")); // TODO: test body size }
From source file:org.apache.james.smtpserver.SMTPServerTest.java
@Test public void testSimpleMailSendWithHELO() throws Exception { init(smtpConfiguration);//w w w .ja va2s . 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.helo(InetAddress.getLocalHost().toString()); smtpProtocol.setSender("mail@localhost"); smtpProtocol.addRecipient("mail@localhost"); smtpProtocol .sendShortMessageData("Subject: test mail\r\n\r\nTest body testSimpleMailSendWithHELO\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 testTwoSimultaneousMails() throws Exception { init(smtpConfiguration);//from www . j a v a2s . co m SMTPClient smtpProtocol1 = new SMTPClient(); smtpProtocol1.connect("127.0.0.1", smtpListenerPort); SMTPClient smtpProtocol2 = new SMTPClient(); smtpProtocol2.connect("127.0.0.1", smtpListenerPort); assertTrue("first connection taken", smtpProtocol1.isConnected()); assertTrue("second connection taken", smtpProtocol2.isConnected()); // no message there, yet assertNull("no mail received by mail server", queue.getLastMail()); smtpProtocol1.helo(InetAddress.getLocalHost().toString()); smtpProtocol2.helo(InetAddress.getLocalHost().toString()); String sender1 = "mail_sender1@localhost"; String recipient1 = "mail_recipient1@localhost"; smtpProtocol1.setSender(sender1); smtpProtocol1.addRecipient(recipient1); String sender2 = "mail_sender2@localhost"; String recipient2 = "mail_recipient2@localhost"; smtpProtocol2.setSender(sender2); smtpProtocol2.addRecipient(recipient2); smtpProtocol1.sendShortMessageData("Subject: test\r\n\r\nTest body testTwoSimultaneousMails1\r\n.\r\n"); verifyLastMail(sender1, recipient1, null); smtpProtocol2.sendShortMessageData("Subject: test\r\n\r\nTest body testTwoSimultaneousMails2\r\n.\r\n"); verifyLastMail(sender2, recipient2, null); smtpProtocol1.quit(); smtpProtocol2.quit(); smtpProtocol1.disconnect(); smtpProtocol2.disconnect(); }
From source file:org.apache.james.smtpserver.SMTPServerTest.java
@Test public void testTwoMailsInSequence() throws Exception { init(smtpConfiguration);// ww w . j ava 2 s .c o m 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@localhost"; String recipient1 = "mail_recipient1@localhost"; smtpProtocol1.setSender(sender1); smtpProtocol1.addRecipient(recipient1); smtpProtocol1.sendShortMessageData("Subject: test\r\n\r\nTest body testTwoMailsInSequence1\r\n"); verifyLastMail(sender1, recipient1, null); String sender2 = "mail_sender2@localhost"; String recipient2 = "mail_recipient2@localhost"; smtpProtocol1.setSender(sender2); smtpProtocol1.addRecipient(recipient2); smtpProtocol1.sendShortMessageData("Subject: test2\r\n\r\nTest body2 testTwoMailsInSequence2\r\n"); verifyLastMail(sender2, recipient2, null); smtpProtocol1.quit(); smtpProtocol1.disconnect(); }