lmtptest man page

lmtptest — Cyrus IMAP Documentation

Interactive LMTP test program


lmtptest [ -t keyfile ] [ -p port ] [ -m mechanism ]
    [ -a userid ] [ -u userid ] [ -k num ] [ -l num ]
    [ -r realm ] [ -f file ] [ -n num ] [ -c ] [ -i ]
    [ -v ] [ -w passwd ] [ -o option=value ] hostname


This is actually installed as a hard link to imtest(1).

lmtptest is a utility that allows you to authenticate to a LMTP server and interactively issue commands to it. Once authenticated you may issue any LMTP 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 a lmtp server. Also those developing LMTP clients find it useful.


-t 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 to connect to. If left off this defaults to lmtp as defined in /etc/services.

-m mechanism

Force lmtptest 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

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

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


This is only used with SASL mechanisms that allow proxying (e.g. PLAIN, DIGEST-MD5).

-k num

Minimum protection layer required.

-l num

Maximum protection layer to use (0=none; 1=integrity; etc).  For example if you are using the KERBEROS_V4 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

Specify the realm to use. Certain authentication mechanisms (e.g. DIGEST-MD5) may require one to specify the realm.

-f file

Pipe file into connection after authentication.

-n num

Number of authentication attempts; default = 1.  The client will attempt to do SSL/TLS session reuse and/or fast reauth (e.g. DIGEST-MD5), if possible.


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


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


Verbose. Print out more information than usual.

-w passwd

Password to use (if not supplied, we will prompt).

-o option=value

Set the SASL option to value.


See Also



The Cyrus Team, Nic Bernstein (Onlight)


April 20, 2017 3.0.1 Cyrus IMAP