SMTPTEST(1)
π SMTPTEST(1) β Cyrus IMAP, section 1
okay bestie, sit down, hydrate, and let me tell you about smtptest π This is the Cyrus IMAP documentation for it, and it's an interactive SMTP test program.
Here's the lil plot twist: this is actually installed as a hard linked copy of imtest(1) π so the whole thing is imtest wearing a little SMTP hat.
What it does? It lets you authenticate and send SMTP 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 this utility that lets you authenticate to an IMAP server and then interactively throw commands at it. Once you're authenticated, you can justβ¦ type any IMAP command. That's it. That's the whole interaction. Type it in, it goes. π
It's got multiple SASL authentication mechanisms and it handles encryption layers transparently, like a queen who does not make a fuss. π
People use this thing a lot for testing how an IMAP server is operating. And honestly? The devs building IMAP clients are obsessed with it too, because it's genuinely useful. No cap. π₯
β¨ OPTIONS β¨
-t keyfile,--keyfile=keyfileβ Turns on TLS. Thekeyfileholds the TLS public and private keys. If you pass""it'll negotiate a TLS encryption layer but won't actually 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.-m mechanism,--mechanism=mechanismβ Forcesimtestto usemechanismfor authentication. Don't specify one and it picks the strongest auth mechanism the server supports. Passloginand it uses theLOGINcommand instead ofAUTHENTICATE. Iconic behavior tbh.-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, i.e. the one doing the proving. π«Ά-u userid,--username=useridβ The userid used for authorization. Defaults to the current user. This is the userid whose identity will be assumed after authentication. The glow-up identity, if you will.
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). Example time: if you're using theGSSAPIauthentication mechanism, specifying0forcesimtestto use no layer at all, and specifying1forces it to use the integrity layer. By default, the maximum supported protection layer gets used. Maximum effort, literally. πͺ-r realm,--realm=realmβ Specify the realm to use. Some authentication mechanisms may require you to specify one, so don't be surprised.-f file,--input-filename=fileβ Pipesfileinto the connection after authentication. Feed it. π-n num,--reauth-attempts=numβ Number of authentication attempts; default is1. The client will attempt to do SSL/TLS session reuse and/or fast reauth if possible.-s,--require-tlsβ Enable SSL over the chosen protocol. π-q,--require-compressionβ Enable IMAPCOMPRESSion (after authentication).-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. Look at the library carrying the team. π-i,--no-initial-responseβ Don't send an initial client response for SASL mechanisms, even if the protocol supports it. Boundaries. β-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. It's giving yapper mode. π¬-z,--run-stress-testβ Timing test. β±οΈ-x file,--output-socket=fileβ Opens the named socket for the interactive portion.-X fileβ Like-x, except it also closes all file descriptors and daemonizes the process. Two jobs, one flag. π-w password,--password=passwordβ The password to use. If you don't supply one, it will prompt you. No silent guessing around here.-o option=value,--sasl-option=option=valueβ Sets the SASL option tovalue.-H client-ipβ Enables the HAProxy protocol and sends the specified client IP address in av1header. If the address is"unknown", av1header withUNKNOWNprotocol will be sent. If the address is"local", av2header withLOCALcommand will be sent. Very specific, very demure. π
π EXAMPLES π
ok bestie there are literally no examples here. empty. a void. the vibes are immaculate and the content is nonexistent. π (the original section is justβ¦ sitting there, being a heading with nothing under it. respect.)
π SEE ALSO π
π AUTHOR π
The Cyrus Team, Nic Bernstein (Onlight)
β COPYRIGHT β
1993β2026, The Cyrus Team
and that's the whole page, bestie!! π«Ά you made it to the end, which is honestly main character energy. this was Cyrus IMAP, version 3.12.4, dated Sep 09, 2026 β go forth and test your SMTP, and remember: authenticate responsibly. π
β¨
π¦ 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