POP3TEST(1)

πŸ’– POP3TEST β€” the Cyrus IMAP glow-up era πŸ’–

okay so bestie, gather round, because we're talking about pop3test(1) from the Cyrus IMAP fam, and honestly? she's serving. 🫢


✨ NAME ✨

pop3test β€” Cyrus IMAP documentation. she's an interactive POP3 test program, no cap.

fr fr, the tea is: this is actually installed as a hard linked copy of imtest(1). same girl, different fit. πŸ’…

and what does she do? she lets you authenticate and send POP commands to the server. that's the whole vibe. that's it. periodt.


🌸 SYNOPSIS 🌸

lowkey the whole moodboard right here:

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

yes bestie, she's got hands. πŸ’…


πŸ¦‹ DESCRIPTION πŸ¦‹

okay so imtest is a utility that lets you authenticate to an IMAP server and then interactively issue commands to it. once you're authenticated you can literally just type any IMAP command in and she'll run it. main character energy tbh. πŸ‘‘

she's capable of multiple SASL authentication mechanisms and handles encryption layers transparently. she doesn't make you think about it. she just does it. iconic.

and the way she's used? mostly for testing the operation of an IMAP server. and also, the devs building IMAP clients find her super useful. so she's basically the friend everyone texts when they need to know if something's broken. 🧚


✨ OPTIONS ✨

buckle up buttercup, there's a lot of them, and every single one is staying. no skipping, no summarizing, we don't do that here. πŸ’–

  • -t keyfile, --keyfile=keyfile β€” enables TLS! keyfile contains the TLS public and private keys. and if you pass "" she'll negotiate a TLS encryption layer but not use TLS authentication. sneaky but valid. ✨
  • -p port, --port=port β€” the port to connect to. leave it off and she defaults to imap as defined in /etc/services. she knows the way. 🌸
  • -m mechanism, --mechanism=mechanism β€” forces imtest to use mechanism for authentication. don't specify it and she picks the strongest authentication mechanism supported by the server. and if you specify login she uses the LOGIN command instead of AUTHENTICATE. periodt. πŸ’…
  • -a userid, --authname=userid β€” the userid for authentication, defaults to the current user. this is the userid whose password or credentials get presented to the server for verification. like showing your ID at the door. πŸŽ€
  • -u userid, --username=userid β€” the userid for authorization, defaults to the current user. this is the userid whose identity gets assumed after authentication. the after-party version of you.
NOTE: this is only used with SASL mechanisms that allow proxying (e.g. PLAIN). so don't come for her if it doesn't do anything with other mechanisms. 😭
  • -k num, --minssf=num β€” minimum protection layer required. the bare minimum. we love a boundary. πŸ›‘οΈ
  • -l num, --maxssf=num β€” maximum protection layer to use (0=none; 1=integrity; etc). for example, if you're using the GSSAPI authentication mechanism, specifying 0 forces imtest to not use any layer, and specifying 1 forces it to use the integrity layer. by default the maximum supported protection layer gets used. she's giving maximum effort. πŸ”₯
  • -r realm, --realm=realm β€” specify the realm to use. certain authentication mechanisms may require you to specify one. she's just being thorough. ✨
  • -f file, --input-filename=file β€” pipes file into the 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. efficient queen. πŸ’…
  • -s, --require-tls β€” enable SSL over chosen protocol. πŸ”’
  • -q, --require-compression β€” enable IMAP COMPRESSion (after authentication). squish. 🫢
  • -c, --do-challenge β€” enable challenge prompt callbacks. this makes the OTP mechanism ask for the one-time password instead of the secret pass-phrase (the library generates the correct response). she's got it handled, bestie. πŸ’–
  • -i, --no-initial-response β€” don't send an initial client response for SASL mechanisms, even if the protocol supports it. sometimes you just don't want to go first. πŸ™ˆ
  • -I file, --pidfile=file β€” echoes the PID of the running process into file. she notes this can be useful with -X. πŸ‘€
  • -v, --verbose β€” verbose! prints out more information than usual. she's a yapper and we love that for her. πŸ—£οΈ
  • -z, --run-stress-test β€” timing test. ⏱️
  • -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. she's leaving and she's not saying bye. πŸ’€
  • -w password, --password=password β€” password to use (if not supplied, we will prompt). no password left behind. πŸ”
  • -o option=value, --sasl-option=option=value β€” sets the SASL option to value. ✨
  • -H client-ip β€” enables the HAProxy protocol and sends the specified client IP address in a v1 header. if the address is "unknown", a v1 header with UNKNOWN protocol gets sent. if the address is "local", a v2 header with LOCAL command gets sent. three moods, one flag. πŸ‘‘

🌈 EXAMPLES 🌈

okay so. bestie. not a single example in here. the section exists, it's just... empty. it's giving minimalism. it's giving mystery. she said "figure it out, you're smart." πŸ’…βœ¨


πŸ’œ SEE ALSO πŸ’œ

go read her sisters, they're all iconic:

also imtest(1) is literally her, so. iykyk. πŸ¦‹


πŸŽ€ AUTHOR πŸŽ€

the Cyrus Team, and Nic Bernstein (Onlight). absolute legends, no notes. πŸ‘‘


1993–2026, The Cyrus Team β€” that's a long-running era and she's still serving. πŸ’–


and that's the whole page bestie!! this beauty is from Cyrus IMAP version 3.12.3, dated Jul 15, 2026. screenshot it, bookmark it, tattoo it, whatever β€” just don't forget her. slay, bye!! πŸ’…βœ¨πŸ«Ά

πŸ“¦ where this page comes from