SMTPTEST(1)

πŸ’Œ SMTPTEST(1) β€” bestie's guide to the Cyrus IMAP smtptest πŸ’Œ

okay so this is the Cyrus IMAP manual page for smtptest, and no cap, it's a whole journey. grab a strawberry πŸ“ and let's go.


✨ NAME ✨

smtptest β€” Cyrus IMAP documentation

Interactive SMTP test program.

The way this is actually installed as a hard linked copy of imtest(1). like, literally the same binary wearing a different outfit πŸ’…

It lets you authenticate and send SMTP commands to the server. iconic.


πŸŽ€ 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 you're authenticated you may issue any IMAP command by simply typing it in. it's giving "just talk to it, she'll listen" πŸ’– 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 β€” if that's you, hi bestie, this one's for you 🫢


πŸ‘‘ 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 you leave it 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. she's chatty, we love her πŸ’…
  • -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 🌈

...yeah bestie, there's genuinely nothing here. the section exists, it's just empty. not me pointing at an empty EXAMPLES section 😭 it's giving "the homework was to look at the homework". periodt, moving on.


πŸ¦‹ SEE ALSO πŸ¦‹


πŸ’œ AUTHOR πŸ’œ

The Cyrus Team, Nic Bernstein (Onlight)


1993–2026, The Cyrus Team


okay that's the whole thing, you ate that reading session fr fr πŸ”₯ this was version 3.12.3, dated Jul 15, 2026 β€” go forth and test your SMTP, main character πŸ‘‘πŸ’–

πŸ“¦ where this page comes from