Package org.apache.commons.net.pop3

# Class ExtendedPOP3Client

java.lang.Object
org.apache.commons.net.SocketClient
org.apache.commons.net.pop3.POP3
org.apache.commons.net.pop3.POP3Client
org.apache.commons.net.pop3.POP3SClient
org.apache.commons.net.pop3.ExtendedPOP3Client

public class ExtendedPOP3Client extends POP3SClient
A POP3 Client class with protocol and authentication extensions support (RFC2449 and RFC2195).

Since:
  3.0
See Also:
  - `POP3Client`

- ## Nested Class Summary

  Nested Classes
  Modifier and Type
  Class
  Description
  `static enum`
  `ExtendedPOP3Client.AUTH_METHOD`
  The enumeration of currently-supported authentication methods.

- ## Field Summary

  ### Fields inherited from class org.apache.commons.net.pop3.POP3

  `_commandSupport_, AUTHORIZATION_STATE, DEFAULT_PORT, DISCONNECTED_STATE, TRANSACTION_STATE, UPDATE_STATE`

  ### Fields inherited from class org.apache.commons.net.SocketClient

  `_defaultPort_, _hostname_, _input_, _output_, _serverSocketFactory_, _socket_, _socketFactory_, _timeout_, connectTimeout, NETASCII_EOL, remoteInetSocketAddress`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `ExtendedPOP3Client()`
  The default ExtendedPOP3Client constructor.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `boolean`
  `auth(ExtendedPOP3Client.AUTH_METHOD method, String user, String password)`
  Authenticate to the POP3 server by sending the AUTH command with the selected mechanism, using the given user and the given password.

  ### Methods inherited from class org.apache.commons.net.pop3.POP3SClient

  `_connectAction_, execTLS, getEnabledCipherSuites, getEnabledProtocols, getHostnameVerifier, getTrustManager, isEndpointCheckingEnabled, setEnabledCipherSuites, setEnabledProtocols, setEndpointCheckingEnabled, setHostnameVerifier, setKeyManager, setTrustManager`

  ### Methods inherited from class org.apache.commons.net.pop3.POP3Client

  `capa, deleteMessage, listMessage, listMessages, listUniqueIdentifier, listUniqueIdentifiers, login, login, logout, noop, reset, retrieveMessage, retrieveMessageTop, status`

  ### Methods inherited from class org.apache.commons.net.pop3.POP3

  `disconnect, getAdditionalReply, getCommandSupport, getReplyString, getReplyStrings, getState, removeProtocolCommandistener, sendCommand, sendCommand, sendCommand, sendCommand, setState`

  ### Methods inherited from class org.apache.commons.net.SocketClient

  `addProtocolCommandListener, applySocketAttributes, checkOpenOutputStream, connect, connect, connect, connect, connect, connect, createCommandSupport, fireCommandSent, fireReplyReceived, getCharset, getCharsetName, getConnectTimeout, getDefaultPort, getDefaultTimeout, getHostAddress, getHostAddress, getKeepAlive, getLocalAddress, getLocalPort, getProxy, getReceiveBufferSize, getRemoteAddress, getRemoteInetSocketAddress, getRemotePort, getSendBufferSize, getServerSocketFactory, getSoLinger, getSoTimeout, getTcpNoDelay, isAvailable, isConnected, removeProtocolCommandListener, setCharset, setConnectTimeout, setDefaultPort, setDefaultTimeout, setKeepAlive, setProxy, setReceiveBufferSize, setSendBufferSize, setServerSocketFactory, setSocketFactory, setSoLinger, setSoTimeout, setTcpNoDelay, verifyRemote`

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Constructor Details

  - ### ExtendedPOP3Client

    public ExtendedPOP3Client() throws NoSuchAlgorithmException
    The default ExtendedPOP3Client constructor. Creates a new Extended POP3 Client.
    Throws:
      `NoSuchAlgorithmException` - Never thrown here.

- ## Method Details

  - ### auth

    public boolean auth(ExtendedPOP3Client.AUTH_METHOD method, String user, String password) throws IOException, NoSuchAlgorithmException, InvalidKeyException
    Authenticate to the POP3 server by sending the AUTH command with the selected mechanism, using the given user and the given password.
    Parameters:
      `method` - the `ExtendedPOP3Client.AUTH_METHOD` to use
      `user` - the user name
      `password` - the password
    Returns:
      True if successfully completed, false if not.
    Throws:
      `IOException` - If an I/O error occurs while either sending a command to the server or receiving a reply from the server.
      `NoSuchAlgorithmException` - If the CRAM hash algorithm cannot be instantiated by the Java runtime system.
      `InvalidKeyException` - If the CRAM hash algorithm failed to use the given password.