SYNCTEST(1)

πŸ“¦
version 3.12.3 Β· 4 versions
, in ubuntu stonking

πŸ’… SYNCTEST(1) πŸ’…

okay bestie, welcome to the Cyrus IMAP corner of the internet 🌸 this little angel is synctest, and here's the tea: it's literally just imtest(1) wearing a different name tag β€” no cap, it ships as a hard link to imtest(1) 🫢

✨ NAME ✨

synctest β€” Cyrus IMAP documentation, babes πŸ“–

It's the Interactive IMAP test program: it tests the replication protocol. And the way it's installed? As a hard link to imtest(1). iconic behavior honestly πŸ‘‘


πŸŽ€ 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 the utility that lets you authenticate to an IMAP server and then just… talk to it πŸ’¬ interactively. once you're authenticated, you can fire off literally any IMAP command by simply typing it in. yes, ANY. it's giving main character energy.

it handles multiple SASL authentication mechanisms and sorts out encryption layers transparently β€” like it doesn't even make it weird πŸ’…

people use this thing constantly for testing how an IMAP server is operating, and ngl, the people out here developing IMAP clients find it super useful too πŸ”₯


✨ OPTIONS ✨

  • -t keyfile, --keyfile=keyfile β€” turns on TLS πŸ’š. keyfile holds the TLS public and private keys. if you pass "" you'll negotiate a TLS encryption layer but won't do TLS authentication β€” spicy but valid 🌢️
  • -p port, --port=port β€” which port to connect to πŸšͺ. leave it off and it defaults to imap as defined in /etc/services.
  • -m mechanism, --mechanism=mechanism β€” forces imtest to use mechanism for authentication. if you don't specify one, it picks the strongest authentication mechanism the server supports πŸ’ͺ. and if you specify login, it uses the LOGIN command instead of AUTHENTICATE.
  • -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 πŸ”
  • -u userid, --username=userid β€” the userid for authorization; defaults to the current user. this is the userid whose identity gets assumed after authentication. lowkey a different vibe from -a πŸ‘€
NOTE: this is only used with SASL mechanisms that allow proxying (e.g. PLAIN).
  • -k num, --minssf=num β€” the minimum protection layer required πŸ›‘οΈ
  • -l num, --maxssf=num β€” the maximum protection layer to use (0=none; 1=integrity; etc). for example, if you're 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 gets used ✨
  • -r realm, --realm=realm β€” specify the realm to use. certain authentication mechanisms may require you to specify one 🏰
  • -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 πŸ”
  • -s, --require-tls β€” enable SSL over the chosen protocol πŸ”’
  • -q, --require-compression β€” enable IMAP COMPRESSion (after authentication) πŸ—œοΈ
  • -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) 🎲
  • -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 mode. it prints out more information than usual πŸ—£οΈ
  • -z, --run-stress-test β€” timing test ⏱️
  • -x file, --output-socket=file β€” open the named socket for the interactive portion πŸ”Œ
  • -X file β€” like -x, only it closes all file descriptors & daemonizes the process 😈
  • -w password, --password=password β€” the password to use (if you don't supply one, we will prompt you) πŸ™ˆ
  • -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 gets sent. if the address is "local", a v2 header with LOCAL command gets sent 🌐

⭐ EXAMPLES ⭐

no examples here bestie, it's empty. the void. we respect it πŸ’€


πŸ‘€ SEE ALSO πŸ‘€


πŸ‘‘ AUTHOR πŸ‘‘

The Cyrus Team 🫢


1993–2026, The Cyrus Team


okay that's the whole page, you ate it up fr fr πŸ’– and just so you know where this came from: it's Cyrus IMAP version 3.12.3, dated Jul 15, 2026, and the page itself is SYNCTEST(1) πŸŽ€ periodt, go forth and test those replicas bestie πŸ’…βœ¨πŸ¦‹

πŸ“¦ where this page comes from