Example usage for org.apache.commons.net.smtp SMTPClient helo

List of usage examples for org.apache.commons.net.smtp SMTPClient helo

Introduction

In this page you can find the example usage for org.apache.commons.net.smtp SMTPClient helo.

Prototype

public int helo(String hostname) throws IOException 

Source Link

Document

A convenience method to send the SMTP HELO command to the server, receive the reply, and return the reply code.

Usage

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  ava2  s  .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 testReceivedHeader() throws Exception {
    init(smtpConfiguration);/* w  w  w  .j  a v  a  2  s .  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   ww  w .ja  v  a2 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);/*from w  w  w  .  j  av  a 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.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);/*w ww  .j av  a2 s . 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);// w  ww.j a  v  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@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();
}

From source file:org.apache.james.smtpserver.SMTPServerTest.java

@Test
public void testHeloResolvDefault() throws Exception {
    init(smtpConfiguration);//  w ww .ja va  2 s  .co 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 testSenderDomainResolv() throws Exception {
    smtpConfiguration.setSenderDomainResolv();
    smtpConfiguration.setAuthorizedAddresses("192.168.0.1/32");
    init(smtpConfiguration);/*from w ww  .j  a va2 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@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 testSenderDomainResolvDefault() throws Exception {
    init(smtpConfiguration);//  w ww  .j  a va2s  . c  o m

    SMTPClient smtpProtocol1 = new SMTPClient();
    smtpProtocol1.connect("127.0.0.1", smtpListenerPort);

    smtpProtocol1.helo(InetAddress.getLocalHost().toString());

    String sender1 = "mail_sender1@xfwrqqfgfe.de";

    smtpProtocol1.setSender(sender1);

    smtpProtocol1.quit();
}

From source file:org.apache.james.smtpserver.SMTPServerTest.java

@Test
public void testSenderDomainResolvRelayClientDefault() throws Exception {
    smtpConfiguration.setSenderDomainResolv();
    init(smtpConfiguration);//  w  ww  . jav  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";

    // Both mail shold
    smtpProtocol1.setSender(sender1);

    smtpProtocol1.quit();

}