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.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);/* w ww . j a v a2s. c om*/ 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 testReverseEqualsHelo() throws Exception { smtpConfiguration.setReverseEqualsHelo(); smtpConfiguration.setAuthorizedAddresses("192.168.0.1"); // temporary alter the loopback resolution try {/*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 w w w.j a va2s. co 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@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(); }
From source file:org.apache.james.smtpserver.SMTPServerTest.java
@Test public void testMaxRcpt() throws Exception { smtpConfiguration.setMaxRcpt(1);/*ww w . ja v a 2 s .c o m*/ 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()); smtpProtocol1.helo(InetAddress.getLocalHost().toString()); String sender1 = "mail_sender1@james.apache.org"; String rcpt1 = "test@localhost"; String rcpt2 = "test2@localhost"; smtpProtocol1.setSender(sender1); smtpProtocol1.addRecipient(rcpt1); smtpProtocol1.addRecipient(rcpt2); assertEquals("expected 452 error", 452, smtpProtocol1.getReplyCode()); smtpProtocol1.sendShortMessageData("Subject: test\r\n\r\nTest body testMaxRcpt1\r\n"); // After the data is send the rcpt count is set back to 0.. So a new // mail with rcpt should be accepted smtpProtocol1.setSender(sender1); smtpProtocol1.addRecipient(rcpt1); smtpProtocol1.sendShortMessageData("Subject: test\r\n\r\nTest body testMaxRcpt2\r\n"); smtpProtocol1.quit(); }
From source file:org.apache.james.smtpserver.SMTPServerTest.java
@Test public void testMaxRcptDefault() throws Exception { init(smtpConfiguration);//from w w w .j a va 2 s .c o m SMTPClient smtpProtocol1 = new SMTPClient(); smtpProtocol1.connect("127.0.0.1", smtpListenerPort); smtpProtocol1.helo(InetAddress.getLocalHost().toString()); String sender1 = "mail_sender1@james.apache.org"; String rcpt1 = "test@localhost"; smtpProtocol1.setSender(sender1); smtpProtocol1.addRecipient(rcpt1); smtpProtocol1.sendShortMessageData("Subject: test\r\n\r\nTest body testMaxRcptDefault\r\n"); smtpProtocol1.quit(); }
From source file:org.apache.james.smtpserver.SMTPServerTest.java
@Test public void testReverseEqualsEhlo() throws Exception { smtpConfiguration.setReverseEqualsEhlo(); smtpConfiguration.setAuthorizedAddresses("192.168.0.1"); // temporary alter the loopback resolution InetAddress jamesDomain = null; try {/*from www . j ava 2 s . c o m*/ jamesDomain = dnsServer.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)"); } dnsServer.setLocalhostByName(jamesDomain); 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 ehlo1 = "abgsfe3rsf.de"; String ehlo2 = "james.apache.org"; String mail = "sender"; String rcpt = "recipient"; smtpProtocol1.sendCommand("ehlo", ehlo1); smtpProtocol1.setSender(mail); smtpProtocol1.addRecipient(rcpt); // this should give a 501 code cause the ehlo not equals reverse of // ip assertEquals("expected error: ehlo not equals reverse of ip", 501, smtpProtocol1.getReplyCode()); smtpProtocol1.sendCommand("ehlo", ehlo2); smtpProtocol1.setSender(mail); smtpProtocol1.addRecipient(rcpt); // ehlo is resolvable. so this should give a 250 code assertEquals("ehlo accepted", 250, smtpProtocol1.getReplyCode()); smtpProtocol1.quit(); } finally { dnsServer.setLocalhostByName(null); } }
From source file:org.apache.james.smtpserver.SMTPServerTest.java
@Test public void testAuth() throws Exception { smtpConfiguration.setAuthorizedAddresses("128.0.0.1/8"); smtpConfiguration.setAuthorizingAnnounce(); init(smtpConfiguration);//w w w. ja v a 2s . c om SMTPClient smtpProtocol = new SMTPClient(); smtpProtocol.connect("127.0.0.1", smtpListenerPort); smtpProtocol.sendCommand("ehlo", InetAddress.getLocalHost().toString()); String[] capabilityRes = smtpProtocol.getReplyStrings(); List<String> capabilitieslist = new ArrayList<String>(); for (int i = 1; i < capabilityRes.length; i++) { capabilitieslist.add(capabilityRes[i].substring(4)); } assertTrue("anouncing auth required", capabilitieslist.contains("AUTH LOGIN PLAIN")); // is this required or just for compatibility? // assertTrue("anouncing auth required", // capabilitieslist.contains("AUTH=LOGIN PLAIN")); String userName = "test_user_smtp"; String noexistUserName = "noexist_test_user_smtp"; String sender = "test_user_smtp@localhost"; smtpProtocol.sendCommand("AUTH FOO", null); assertEquals("expected error: unrecognized authentication type", 504, smtpProtocol.getReplyCode()); smtpProtocol.setSender(sender); smtpProtocol.addRecipient("mail@sample.com"); assertEquals("expected 530 error", 530, smtpProtocol.getReplyCode()); assertFalse("user not existing", usersRepository.contains(noexistUserName)); smtpProtocol.sendCommand("AUTH PLAIN"); smtpProtocol.sendCommand(Base64.encodeAsString("\0" + noexistUserName + "\0pwd\0")); // smtpProtocol.sendCommand(noexistUserName+"pwd".toCharArray()); assertEquals("expected error", 535, smtpProtocol.getReplyCode()); usersRepository.addUser(userName, "pwd"); smtpProtocol.sendCommand("AUTH PLAIN"); smtpProtocol.sendCommand(Base64.encodeAsString("\0" + userName + "\0wrongpwd\0")); assertEquals("expected error", 535, smtpProtocol.getReplyCode()); smtpProtocol.sendCommand("AUTH PLAIN"); smtpProtocol.sendCommand(Base64.encodeAsString("\0" + userName + "\0pwd\0")); assertEquals("authenticated", 235, smtpProtocol.getReplyCode()); smtpProtocol.sendCommand("AUTH PLAIN"); assertEquals("expected error: User has previously authenticated.", 503, smtpProtocol.getReplyCode()); smtpProtocol.addRecipient("mail@sample.com"); smtpProtocol.sendShortMessageData("Subject: test\r\n\r\nTest body testAuth\r\n"); smtpProtocol.quit(); // 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 testAuthWithEmptySender() throws Exception { smtpConfiguration.setAuthorizedAddresses("128.0.0.1/8"); smtpConfiguration.setAuthorizingAnnounce(); init(smtpConfiguration);// w w w . j ava 2 s .c o m SMTPClient smtpProtocol = new SMTPClient(); smtpProtocol.connect("127.0.0.1", smtpListenerPort); smtpProtocol.sendCommand("ehlo " + InetAddress.getLocalHost()); String userName = "test_user_smtp"; usersRepository.addUser(userName, "pwd"); smtpProtocol.setSender(""); smtpProtocol.sendCommand("AUTH PLAIN"); smtpProtocol.sendCommand(Base64.encodeAsString("\0" + userName + "\0pwd\0")); assertEquals("authenticated", 235, smtpProtocol.getReplyCode()); smtpProtocol.addRecipient("mail@sample.com"); assertEquals("expected error", 503, smtpProtocol.getReplyCode()); smtpProtocol.quit(); }
From source file:org.apache.james.smtpserver.SMTPServerTest.java
@Test public void testRelayingDenied() throws Exception { smtpConfiguration.setAuthorizedAddresses("128.0.0.1/8"); init(smtpConfiguration);//from w w w. ja v a 2 s. c o m SMTPClient smtpProtocol = new SMTPClient(); smtpProtocol.connect("127.0.0.1", smtpListenerPort); smtpProtocol.sendCommand("ehlo " + InetAddress.getLocalHost()); smtpProtocol.setSender("mail@sample.com"); smtpProtocol.addRecipient("maila@sample.com"); assertEquals("expected 550 error", 550, smtpProtocol.getReplyCode()); }
From source file:org.apache.james.smtpserver.SMTPServerTest.java
@Test public void testHandleAnnouncedMessageSizeLimitExceeded() throws Exception { smtpConfiguration.setMaxMessageSize(1); // set message limit to 1kb init(smtpConfiguration);//from ww w . jav a 2s. c o m SMTPClient smtpProtocol = new SMTPClient(); smtpProtocol.connect("127.0.0.1", smtpListenerPort); smtpProtocol.sendCommand("ehlo " + InetAddress.getLocalHost()); smtpProtocol.sendCommand("MAIL FROM:<mail@localhost> SIZE=1025", null); assertEquals("expected error: max msg size exceeded", 552, smtpProtocol.getReplyCode()); smtpProtocol.addRecipient("mail@localhost"); assertEquals("expected error", 503, smtpProtocol.getReplyCode()); }