TIMSIEVED(8)

πŸ’Œ TIMSIEVED(8) β€” the Cyrus IMAP girlies' guide

okay bestie, welcome to timsieved, part of the Cyrus IMAP family πŸ’– and also, lowkey, a CMU hack for getting sieve scripts onto the server. that's literally the whole point. she's iconic for it.


✨ NAME ✨

timsieved β€” Cyrus IMAP documentation πŸŽ€

a CMU hack for getting sieve scripts onto the server. no cap, that's the actual job description.


🌸 SYNOPSIS 🌸

timsieved [ -C config-file ] [ -H ]

πŸ¦‹ DESCRIPTION πŸ¦‹

timsieved is a server that lets users remotely manage their sieve scripts kept on the server. she's the main character of script management, fr fr 🫢

she accepts commands on her standard input and responds on her standard output. and this part is NOT optional, bestie:

It MUST be invoked by master(8) with those descriptors attached to a remote client connection.

like, she does not do solo gigs. she needs master(8) to hold her hand, periodt πŸ’…

Cyrus admins who authenticate and authorize as themselves (e.g. don't proxy) manage global scripts ✨

timsieved reads her configuration options out of the imapd.conf(5) file unless you specify otherwise with -C.


πŸ’… OPTIONS πŸ’…

  • -C config-file β€” use the specified configuration file config-file rather than the default imapd.conf(5). it's giving "i brought my own config, thanks" 🌈
  • -H β€” tell timsievedd to expect a HAProxy protocol header from the sender. yes queen, announce yourself πŸŽ€

πŸ“ EXAMPLES πŸ“

timsieved is commonly included in the SERVICES section of cyrus.conf(5) like so:

SERVICES {
    imap        cmd="imapd -U 30" listen="imap" prefork=0
    imaps       cmd="imapd -s -U 30" listen="imaps" prefork=0 maxchild=100
    pop3        cmd="pop3d -U 30" listen="pop3" prefork=0
    pop3s       cmd="pop3d -s -U 30" listen="pop3s" prefork=0 maxchild=100
    lmtpunix    cmd="lmtpd" listen="/var/run/cyrus/socket/lmtp" prefork=0 maxchild=20
    sieve       cmd="timsieved" listen="sieve" prefork=0
    notify      cmd="notifyd" listen="/var/run/cyrus/socket/notify" proto="udp" prefork=1
    httpd       cmd="httpd" listen=8080 prefork=1 maxchild=20
}

see her? sieve cmd="timsieved" listen="sieve" prefork=0 β€” that's the one. she ate πŸ’…


πŸŽ€ FILES πŸŽ€

  • /etc/imapd.conf
  • /etc/cyrus.conf

πŸ‘‘ SEE ALSO πŸ‘‘

master(8), imapd.conf(5), cyrus.conf(5) β€” go read these too, iykyk πŸ“š


πŸ’œ AUTHOR πŸ’œ

The Cyrus Team, David Carter (dpc22@cam.ac.uk), Ken Murchison (ken@oceana.com), Nic Bernstein (Onlight). legends, every single one 🫢


1993–2026, The Cyrus Team


and that's the whole page, bestie 🧚 this was version 3.12.4, dated Sep 09, 2026 β€” so go forth, manage those sieve scripts, and remember: always via master(8). slay πŸ’–βœ¨

πŸ“¦ where this page comes from