HTTPTEST(1)
π HTTPTEST(1) β the Cyrus IMAP glow-up edition π
okay bestie, gather round, because we're talking about httptest, and it's part of the Cyrus IMAP documentation β¨
so like, httptest is the Interactive HTTP test program π¦ and the tea is: it's actually installed as a hard linked copy of imtest(1) π
which means it lets you authenticate and then send HTTP commands to the server. that's the whole vibe. π
β¨ 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 πΈ
so imtest is a lil utility that lets you authenticate to an IMAP server and then interactively throw commands at it. once you're authenticated you can literally just type any IMAP command in and off it goes π
it's got multiple SASL authentication mechanisms and it handles encryption layers transparently, which is lowkey iconic of it.
people use this thing for testing how an IMAP server is operating, and honestly? if you're out here developing IMAP clients, you're gonna find it useful too. iykyk π«Ά
π OPTIONS π
-t keyfile,--keyfile=keyfileβ turns on TLS πkeyfileholds the TLS public and private keys. if you pass""it'll negotiate a TLS encryption layer but not use TLS authentication. sneaky but valid.-p port,--port=portβ which port to connect to. leave it off and it defaults toimapas defined in/etc/services. classic.-m mechanism,--mechanism=mechanismβ forcesimtestto usemechanismfor authentication. if you don't specify one, it picks the strongest authentication mechanism the server supports π. and if you saylogin, it uses theLOGINcommand instead ofAUTHENTICATE.-a userid,--authname=useridβ the userid used for authentication; defaults to the current user. this is the userid whose password or credentials get presented to the server for verification. it's giving "who am i claiming to be" π-u userid,--username=useridβ the userid used for authorization; defaults to the current user. this is the userid whose identity gets assumed after authentication.
NOTE: this is only used with SASL mechanisms that allow proxying (e.g. PLAIN). don't come for me, that's just the rules π«
-k num,--minssf=numβ minimum protection layer required. no more, no less.-l num,--maxssf=numβ maximum protection layer to use (0=none;1=integrity; etc). for example, if you're using theGSSAPIauthentication mechanism, specifying0forcesimtestto not use any layer at all, and specifying1forces it to use the integrity layer π. by default the maximum supported protection layer gets used.-r realm,--realm=realmβ specify the realm to use. some authentication mechanisms are needy and require you to specify one π-f file,--input-filename=fileβ pipesfileinto the connection after authentication.-n num,--reauth-attempts=numβ number of authentication attempts; default =1. the client will try to do SSL/TLS session reuse and/or fast reauth if possible. efficient queen β-s,--require-tlsβ enable SSL over the chosen protocol π₯-q,--require-compressionβ enable IMAP COMPRESSion (after authentication). squeeze it β¨-c,--do-challengeβ enable challenge prompt callbacks. this makes theOTPmechanism ask for the one-time password instead of the secret pass-phrase (the library generates the correct response for you, bestie, you don't gotta do it yourself π ).-i,--no-initial-responseβ don't send an initial client response for SASL mechanisms, even if the protocol supports it. we're being mysterious today π-I file,--pidfile=fileβ echoes the PID of the running process intofile. (this can be useful with-X.)-v,--verboseβ verbose. prints out more information than usual. the way that it just tells you everything π£οΈ-z,--run-stress-testβ timing test. let's see how she performs β±οΈ-x file,--output-socket=fileβ opens the named socket for the interactive portion.-X fileβ like-x, only it closes all file descriptors & daemonizes the process. main character energy, she leaves the room and never looks back π-w password,--password=passwordβ password to use (if not supplied, we will prompt).-o option=value,--sasl-option=option=valueβ set the SASL option tovalue.-H client-ipβ enable the HAProxy protocol and send the specified client IP address in av1header. if the address is"unknown", av1header withUNKNOWNprotocol gets sent. if the address is"local", av2header withLOCALcommand gets sent. three whole modes, we love versatility π
π EXAMPLES π
...yeah bestie, this section is empty. the examples are the friends we made along the way π
π SEE ALSO π
π AUTHOR π
The Cyrus Team. absolute icons, no cap π«Ά
π COPYRIGHT π
1993β2026, The Cyrus Team
and that's the whole page, bestie!! this was version 3.12.4, dated Sep 09, 2026, straight out of the Cyrus IMAP corner of the universe. go authenticate something and slay πβ¨π
π¦ where this page comes from
- fedora 44: cyrus-imapd-utils 3.12.4-1.fc44 Β· BSD-Attribution-HPND-disclaimer
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms