IMTEST(1)
π IMTEST(1) β the Cyrus IMAP interactive test program, bestie edition π
okay so welcome to imtest, from the Cyrus IMAP fam (you'll see it filed under Cyrus IMAP in the manual, and yeah, it's imtest β section 1, the command section, iykyk).
β¨ NAME β¨
imtest β Cyrus IMAP documentation. It's an Interactive IMAP test program. literally what it says on the tin, and it ate π
πΈ 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 ] hostname
like yes it's a lot of flags, don't panic, we're gonna go through every single one π«Ά
π DESCRIPTION π
so imtest is this utility that lets you authenticate to an IMAP server and then talk to it interactively β like you just type commands at it and it responds, main character energy honestly.
once you're authenticated you may issue any IMAP command by simply typing it in. any of them. the power π
it's capable of multiple SASL authentication mechanisms and it handles encryption layers transparently. this utility is often used for testing the operation of an IMAP server β that's like its whole thing β and also those developing IMAP clients find it useful. so whether you're the server girlie or the client girlie, it's giving useful β¨
π¦ OPTIONS π¦
-t keyfile,--keyfile=keyfileβ Enable TLS.keyfilecontains the TLS public and private keys. Specify""to negotiate a TLS encryption layer but not use TLS authentication. (that's a real move, yes, the empty string is doing something, don't skip it π)-p port,--port=portβ Port to connect to. If left off this defaults toimapas defined in/etc/services.-m mechanism,--mechanism=mechanismβ Forceimtestto usemechanismfor authentication. If not specified, the strongest authentication mechanism supported by the server is chosen. Specifyloginto use theLOGINcommand instead ofAUTHENTICATE.-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. (the "proof it's me" one π)-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. (the "now be this person" one π)
NOTE: this is only used with SASL mechanisms that allow proxying (e.g.PLAIN,DIGEST-MD5). so don't come for it if your mechanism doesn't proxy, bestie π
-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 theKERBEROS_V4authentication mechanism, specifying0will forceimtestto not use any layer and specifying1will force it to use the integrity layer. By default the maximum supported protection layer will be used. highkey love a numbered scale π-r realm,--realm=realmβ Specify the realm to use. Certain authentication mechanisms (e.g.DIGEST-MD5) may require one to specify the realm.-f file,--input-filename=fileβ Pipefileinto 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 (e.g.DIGEST-MD5), if possible. reusing sessions is so eco-friendly of it π-s,--require-tlsβ Enable SSL over chosen protocol.-q,--require-compressionβ Enable IMAPCOMPRESSion (after authentication). squeeze it π-c,--do-challengeβ Enable challenge prompt callbacks. This will cause theOTPmechanism to ask for the one-time password instead of the secret pass-phrase (library generates the correct response). so the library does the math and you just type the OTP, iconique β¨-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 intofile(this can be useful with-X).-v,--verboseβ Verbose. Print out more information than usual. she's chatty and we love that π£οΈ-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. (no long form for this one, it's mysterious like that π )-w password,--password=passwordβ Password to use (if not supplied, we will prompt). ngl the prompt is the safer vibe, but you do you π-o option=value,--sasl-option=option=valueβ Set the SASL option tovalue.
β EXAMPLES β
okay so the EXAMPLES section of the original isβ¦ empty. like literally nothing in it. no example commands, no demo, nothing β she left the group chat on read π so there's nothing to show you here, fr fr. go forth and construct your own, you got this π«Ά
π₯ SEE ALSO π₯
π AUTHOR π
The Cyrus Team, Nic Bernstein (Onlight). legends, honestly.
π COPYRIGHT π
1993β2026, The Cyrus Team
that's the whole page bestie, every flag accounted for, nothing skipped, periodt π
and like a little sign-off before you close the tab: this is version 3.8.8, dated Sep 09, 2026 β so yeah, fresh, current, no cap. now go authenticate at that IMAP server and slay πΈπ¦β¨
π¦ where this page comes from
- opensuse-leap 16.0: cyrus-imapd-utils 3.8.8-bp160.1.1 Β· CMU-Mach
- opensuse-leap 16.0: cyrus-imapd-utils 3.8.8-bp160.1.1 Β· CMU-Mach
- opensuse-leap 16.0: cyrus-imapd-utils 3.8.8-bp160.1.1 Β· CMU-Mach
- opensuse-leap 16.0: cyrus-imapd-utils 3.8.8-bp160.1.1 Β· CMU-Mach
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms