Class AuthenticatingIMAPClient


public class AuthenticatingIMAPClient extends IMAPSClient
An IMAP Client class with authentication support.
See Also:
  • Constructor Details

    • AuthenticatingIMAPClient

      public AuthenticatingIMAPClient()
      Constructor for AuthenticatingIMAPClient that delegates to IMAPSClient. Sets security mode to explicit (isImplicit = false).
    • AuthenticatingIMAPClient

      public AuthenticatingIMAPClient(boolean implicit)
      Constructor for AuthenticatingIMAPClient that delegates to IMAPSClient.
      Parameters:
      implicit - The security mode (Implicit/Explicit).
    • AuthenticatingIMAPClient

      public AuthenticatingIMAPClient(String proto)
      Constructor for AuthenticatingIMAPClient that delegates to IMAPSClient.
      Parameters:
      proto - the protocol.
    • AuthenticatingIMAPClient

      public AuthenticatingIMAPClient(String proto, boolean implicit)
      Constructor for AuthenticatingIMAPClient that delegates to IMAPSClient.
      Parameters:
      proto - the protocol.
      implicit - The security mode(Implicit/Explicit).
    • AuthenticatingIMAPClient

      public AuthenticatingIMAPClient(String proto, boolean implicit, SSLContext ctx)
      Constructor for AuthenticatingIMAPClient that delegates to IMAPSClient.
      Parameters:
      proto - the protocol.
      implicit - The security mode(Implicit/Explicit).
      ctx - the context
    • AuthenticatingIMAPClient

      public AuthenticatingIMAPClient(boolean implicit, SSLContext ctx)
      Constructor for AuthenticatingIMAPClient that delegates to IMAPSClient.
      Parameters:
      implicit - The security mode(Implicit/Explicit).
      ctx - A pre-configured SSL Context.
    • AuthenticatingIMAPClient

      public AuthenticatingIMAPClient(SSLContext context)
      Constructor for AuthenticatingIMAPClient that delegates to IMAPSClient.
      Parameters:
      context - A pre-configured SSL Context.
  • Method Details

    • authenticate

      Authenticate to the IMAP server by sending the AUTHENTICATE command with the selected mechanism, using the given username and the given password.
      Parameters:
      method - the method name
      username - user
      password - 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.
      InvalidKeySpecException - If the CRAM hash algorithm failed to use the given password.
    • auth

      Authenticate to the IMAP server by sending the AUTHENTICATE command with the selected mechanism, using the given username and the given password.
      Parameters:
      method - the method name
      username - user
      password - 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.
      InvalidKeySpecException - If the CRAM hash algorithm failed to use the given password.
    • _convertToHexString

      private String _convertToHexString(byte[] a)
      Converts the given byte array to a String containing the hex values of the bytes. For example, the byte 'A' will be converted to '41', because this is the ASCII code (and the byte value) of the capital letter 'A'.
      Parameters:
      a - The byte array to convert.
      Returns:
      The resulting String of hex codes.