@Override
    public void authenticate() throws IOException {
        checkAuthPlainSupport();

        final String initialClientResponse = constructInitialClientResponse();
        smartClient.sendAndCheck("AUTH PLAIN " + initialClientResponse);
    }
PlainAuthenticator implements the SASL PLAIN mechanism which authenticates
the client using a name - password combination.

@see <a href="http://tools.ietf.org/html/rfc4616">RFC 4616: The PLAIN Simple
Authentication and Security Layer (SASL) Mechanism</a>
src/test/java/de/gessnerfl/fakesmtp/smtp/client/PlainAuthenticator.java