SYNCTEST(1)

NAME
synctest - Cyrus IMAP documentation

Interactive IMAP test program: tests the replication protocol. This is installed as a hard link to imtest(1).

SYNOPSIS

            imtest [ -t keyfile ] [ -p port ] [ -m mechanism ]
                [ -a userid ] [ -u userid ] [ -k num ] [ -l num ]
                [ -r realm ] [ -f file ] [ -n num ] [ -s ] [ -q ]
                [ -c ] [ -i ] [ -z ] [ -v ] [ -I file ] [ -x file ]
                [ -X file ] [ -w passwd ] [ -o option=value ]
                [ -H client-ip ] hostname

DESCRIPTION

imtest is a utility that allows you to authenticate to an IMAP server and interactively issue commands to it. Once authenticated you may issue any IMAP command by simply typing it in. It is capable of multiple SASL authentication mechanisms and handles encryption layers transparently. This utility is often used for testing the operation of an IMAP server. Also those developing IMAP clients find it useful.

OPTIONS

    -t keyfile, --keyfile=keyfile
        Enable TLS. keyfile contains the TLS public and private keys. Specify "" to negotiate a TLS encryption layer but not use TLS authentication.

    -p port, --port=port
        Port to connect to. If left off this defaults to imap as defined in /etc/services.

    -m mechanism, --mechanism=mechanism
        Force imtest to use mechanism for authentication. If not specified the strongest authentication mechanism supported by the server is chosen. Specify login to use the LOGIN command instead of AUTHENTICATE.

    -a userid, --authname=userid
        Userid to use for authentication; defaults to the current user. This is the userid whose password or credentials will be presented to the server for verification.

    -u userid, --username=userid
        Userid to use for authorization; defaults to the current user. This is the userid whose identity will be assumed after authentication.

        NOTE:
            This is only used with SASL mechanisms that allow proxying (e.g. PLAIN).

    -k num, --minssf=num
        Minimum protection layer required.

    -l num, --maxssf=num
        Maximum protection layer to use (0=none; 1=integrity; etc). For example if you are using the GSSAPI authentication mechanism specifying 0 will force imtest to not use any layer and specifying 1 will force it to use the integrity layer. By default the maximum supported protection layer will be used.

    -r realm, --realm=realm
        Specify the realm to use. Certain authentication mechanisms may require one to specify the realm.

    -f file, --input-filename=file
        Pipe file into connection after authentication.

    -n num, --reauth-attempts=num
        Number of authentication attempts; default = 1. The client will attempt to do SSL/TLS session reuse and/or fast reauth if possible.

    -s, --require-tls
        Enable SSL over chosen protocol.

    -q, --require-compression
        Enable IMAP COMPRESSion (after authentication).

    -c, --do-challenge
        Enable challenge prompt callbacks. This will cause the OTP mechanism to ask for the one-time password instead of the secret pass-phrase (library generates the correct response).

    -i, --no-initial-response
        Don't send an initial client response for SASL mechanisms, even if the protocol supports it.

    -I file, --pidfile=file
        Echo the PID of the running process into file (This can be useful with -X).

    -v, --verbose
        Verbose. Print out more information than usual.

    -z, --run-stress-test
        Timing test.

    -x file, --output-socket=file
        Open the named socket for the interactive portion.

    -X file
        Like -x, only close all file descriptors & daemonize the process.

    -w password, --password=password
        Password to use (if not supplied, we will prompt).

    -o option=value, --sasl-option=option=value
        Set the SASL option to value.

    -H client-ip
        Enable the HAProxy protocol and send the specified client IP address in a v1 header. If the address is "unknown", a v1 header with UNKNOWN protocol will be sent. If the address is "local", a v2 header with LOCAL command will be sent.

EXAMPLES

SEE ALSO

imapd(8)

AUTHOR
The Cyrus Team

COPYRIGHT
1993–2026, The Cyrus Team