SIEVESHELL(1)

πŸ’Œ SIEVESHELL(1) β€” the sieveshell manual, bestie edition

okay so. welcome to SIEVESHELL(1), a page from the User Contributed Perl Documentation section, and no I will not be normal about it. we're learning how to boss your sieve scripts around on a remote server and honestly? it's giving main character energy. let's go. πŸ¦‹


✨ NAME ✨

sieveshell β€” remotely manipulate sieve scripts πŸ’…

like, you, but for your mail filtering, and from a whole different machine. iconic.


πŸŽ€ SYNOPSIS πŸŽ€

sieveshell [--user=user] [--authname=authname] [--realm=realm]
[--password=password] [--exec=script] [--execfile=file] server[:port]

sieveshell --help

so you give it a server, optionally a :port right there after a colon, sprinkle in whatever options you need, and boom. and yes, --help is right there when you forget everything (no judgment, I do it constantly 🫢).


🌸 DESCRIPTION 🌸

okay so here's the tea: sieveshell lets users manipulate their scripts on a remote server. it does this via MANAGESIEVE, which β€” and I am quoting the vibe here β€” is a work in progress. so basically it's a cute little protocol that's still figuring itself out. we support its journey. 🧚

these are the commands it recognizes, and yes I'm listing all of them, every single one, no skipping:

  • list β€” list scripts on server. simple. stunning. 🌈
  • put <filename> β€” upload script to server.
  • get <name> [<filename>] β€” get script. if no filename, display to stdout (so it just, like, shows up for you πŸ’–).
  • delete <name> β€” delete script.
  • activate <name> β€” activate script.
  • deactivate β€” deactivate all scripts. ALL of them. not one. all. 😭

periodt. those are the commands.


πŸ‘‘ OPTIONS πŸ‘‘

every flag, accounted for, because I would never do you dirty like that:

  • -u user, --user=user β€” the user whose mailboxes you want to work on. if you don't specify it, it just uses the same thing you passed to -a. lowkey convenient. ✨
  • -a authname, --authname=authname β€” the user to use for authentication. if you don't specify it, it defaults to the current login user. (so like, you, presumably, bestie πŸ’…)
  • -r realm, --realm=realm β€” the realm to attempt authentication in. yes, realm. very fantasy-coded of it. 🏰
  • -p password, --password=password β€” the password to use when authenticating to server.
⚠️ REAL TALK, LISTEN UP β€” note that this parameter can be seen in the process list. use with caution! fr fr, anyone who can peek at the process list can see that password just... sitting there. be careful with this one. πŸ™ˆ
  • -e script, --exec=script β€” instead of working interactively, run commands from script, and exit when done. no hangout session, just get in, do the thing, leave. πŸ’¨
  • -f file, --execfile=file β€” instead of working interactively, run commands from file file and exit when done. same vibe as -e but the commands are chillin' in a whole file. πŸ“„

πŸ“š REFERENCES πŸ“š

  • [MANAGESIEVE] Martin, T.; "A Protocol for Remotely Managing Sieve Scripts", RFC 5804; May 2001

the receipts. we cite our sources around here. πŸ’œ


πŸ’– AUTHOR πŸ’–

Tim Martin <tmartin@mirapoint.com>, and the rest of the Cyrus team.

absolute legends, honestly. they cooked. πŸ‘‘


and that's the whole page, bestie. this was SIEVESHELL(1), from perl v5.42.3, dated 2026-08-22 β€” go forth and organize your mail scripts, you're gonna slay. πŸŒŸπŸ’…πŸ¦‹

πŸ“¦ where this page comes from