Example usage for org.apache.commons.net.smtp SMTPSClient sendCommand

List of usage examples for org.apache.commons.net.smtp SMTPSClient sendCommand

Introduction

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

Prototype

public int sendCommand(String command) throws IOException 

Source Link

Document

Sends an SMTP command with no arguments to the server, waits for a reply and returns the numerical response code.

Usage

From source file:org.apache.james.protocols.smtp.AbstractStartTlsSMTPServerTest.java

@Test
public void testStartTLS() throws Exception {
    InetSocketAddress address = new InetSocketAddress("127.0.0.1", TestUtils.getFreePort());

    ProtocolServer server = null;/*  w  ww .j  av a2  s  . co  m*/
    try {
        server = createServer(createProtocol(new ProtocolHandler[0]), address,
                Encryption.createStartTls(BogusSslContextFactory.getServerContext()));
        server.bind();

        SMTPSClient client = createClient();
        client.connect(address.getAddress().getHostAddress(), address.getPort());
        assertTrue(SMTPReply.isPositiveCompletion(client.getReplyCode()));

        client.sendCommand("EHLO localhost");
        assertTrue(SMTPReply.isPositiveCompletion(client.getReplyCode()));

        boolean startTLSAnnounced = false;
        for (String reply : client.getReplyStrings()) {
            if (reply.toUpperCase(Locale.UK).endsWith("STARTTLS")) {
                startTLSAnnounced = true;
                break;
            }
        }
        assertTrue(startTLSAnnounced);

        assertTrue(client.execTLS());

        // TODO: Add back once commons-net 3.1.0 was released.
        // See: NET-421
        //
        //client.quit();
        //assertTrue("Reply="+ client.getReplyString(), SMTPReply.isPositiveCompletion(client.getReplyCode()));

        client.disconnect();

    } finally {
        if (server != null) {
            server.unbind();
        }
    }

}