Class AuthenticatingIMAPClient


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

  • 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(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.
    • 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
  • Method Details

    • auth

      Authenticate to the IMAP server by sending the AUTHENTICATE command with the selected mechanism, using the given user and the given password.
      Parameters:
      method - the method name
      user - 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.
    • authenticate

      Authenticate to the IMAP server by sending the AUTHENTICATE command with the selected mechanism, using the given user and the given password.
      Parameters:
      method - the method name
      user - 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.