Class AuthenticatingIMAPClient


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

      • 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,
                                        javax.net.ssl.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​(javax.net.ssl.SSLContext context)
        Constructor for AuthenticatingIMAPClient that delegates to IMAPSClient.
        Parameters:
        context - A pre-configured SSL Context.
      • AuthenticatingIMAPClient

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

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

        public AuthenticatingIMAPClient​(java.lang.String proto,
                                        boolean implicit,
                                        javax.net.ssl.SSLContext ctx)
        Constructor for AuthenticatingIMAPClient that delegates to IMAPSClient.
        Parameters:
        proto - the protocol.
        implicit - The security mode(Implicit/Explicit).
        ctx - the context
    • Method Detail

      • auth

        public boolean auth​(AuthenticatingIMAPClient.AUTH_METHOD method,
                            java.lang.String username,
                            java.lang.String password)
                     throws java.io.IOException,
                            java.security.NoSuchAlgorithmException,
                            java.security.InvalidKeyException,
                            java.security.spec.InvalidKeySpecException
        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:
        java.io.IOException - If an I/O error occurs while either sending a command to the server or receiving a reply from the server.
        java.security.NoSuchAlgorithmException - If the CRAM hash algorithm cannot be instantiated by the Java runtime system.
        java.security.InvalidKeyException - If the CRAM hash algorithm failed to use the given password.
        java.security.spec.InvalidKeySpecException - If the CRAM hash algorithm failed to use the given password.
      • authenticate

        public boolean authenticate​(AuthenticatingIMAPClient.AUTH_METHOD method,
                                    java.lang.String username,
                                    java.lang.String password)
                             throws java.io.IOException,
                                    java.security.NoSuchAlgorithmException,
                                    java.security.InvalidKeyException,
                                    java.security.spec.InvalidKeySpecException
        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:
        java.io.IOException - If an I/O error occurs while either sending a command to the server or receiving a reply from the server.
        java.security.NoSuchAlgorithmException - If the CRAM hash algorithm cannot be instantiated by the Java runtime system.
        java.security.InvalidKeyException - If the CRAM hash algorithm failed to use the given password.
        java.security.spec.InvalidKeySpecException - If the CRAM hash algorithm failed to use the given password.
      • convertToHexString

        private java.lang.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.