SIEVE(1)

πŸ’– SIEVE(1) β€” User Commands πŸ’–

okay bestie, welcome to sieve(1), the mail filtering tool. yes we're doing a whole manpage glow-up, but every single flag is staying, no cap 🫢


✨ NAME ✨

sieve β€” a mail filtering tool. that's the whole vibe. she filters your mail. iconic. πŸ’…


🌸 SYNOPSIS 🌸

sieve [OPTION...] SCRIPT

like, you give her options, you give her a SCRIPT, she goes off. main character energy fr fr.


πŸ¦‹ DESCRIPTION πŸ¦‹

GNU sieve β€” a mail filtering tool. literally what it says on the tin. πŸŽ€

  • -c, --[no-]compile-only β€” compile the script and then dip. no filtering, just compiling, and she's out. ✨
  • -D, --dump β€” compile the script, dump the disassembled sieve code straight to your terminal, and exit. it's giving "here's my homework, unedited." 😭
  • -d, --debug[=FLAGS] β€” debug flags (defaults to "TPt", bestie, remember that). πŸ‘‘
  • -E, --[no-]expression β€” treat SCRIPT as Sieve program text. ✨
  • -e, --email=ADDRESS β€” override the user email address. yes ma'am, we're changing who you are. πŸ™ˆ
  • --environment=NAME=VALUE β€” set a sieve environment value. πŸ“
  • -f, --mbox-url=MBOX β€” the mailbox to sieve (defaults to the user's mail spool). πŸŽ€
  • -k, --[no-]keep-going β€” keep on going if execution fails on a message. she's resilient. she perseveres. πŸ’ͺ
  • --line-info=BOOL β€” print source location along with action logs. this one's the default, so it's already on. ✨
  • -n, --[no-]dry-run, --no-actions β€” do not execute any actions, just print what would be done. the "window shopping" mode, we love her. πŸ›οΈ
  • --no-program-name β€” do not prefix diagnostic messages with the program name. she's going incognito 🀫
  • -t, --ticket=TICKET β€” ticket file for user authentication. 🎫
  • -v, --[no-]verbose β€” log all actions. she will tell you EVERYTHING. 🌈
  • --variable=NAME=VALUE β€” set a sieve variable. 🧚

πŸ”₯ Global debugging settings πŸ”₯

  • --debug-level=LEVEL β€” set the Mailutils debugging level. dial it up, dial it down, she's got range. πŸ’œ
  • --[no-]debug-line-info β€” show source info with debugging messages. πŸ“
  • --log-facility=FACILITY β€” output logs to syslog FACILITY. πŸ“¬
  • -M, --mailer=MAILER β€” use the specified URL as the default mailer. πŸ’Œ

🌟 Sieve options 🌟

  • --clear-include-path β€” clear the Sieve include path. wipe it. clean slate. 🧼
  • --clear-library-path, --clearpath β€” clear the Sieve library path. same energy, different path. ✨
  • -I, --includedir=DIR β€” append DIR to the list of directories searched for include files. βž•
  • -L, --libdir=DIR β€” append DIR to the list of directories searched for library files. βž•
  • --libdir-prefix=DIR β€” add DIR to the beginning of the list of directories searched for library files. she cuts the line. rude but effective. πŸ‘‘

πŸŽ€ Configuration handling πŸŽ€

  • --config-file=FILE β€” load this configuration file; implies --no-config. ⚠️ note that implication, bestie.
  • --config-lint β€” check configuration file syntax and exit. syntax check & bye. ✨
  • --config-verbose β€” verbosely log parsing of the configuration files. she narrates. πŸ—£οΈ
  • --no-config β€” do not load site and user configuration files. nope, none, we're going raw. πŸ’€
  • --no-site-config β€” do not load the site-wide configuration file. πŸ™…
  • --no-user-config β€” do not load the user configuration file. πŸ™…
  • --set=PARAM=VALUE β€” set configuration parameter. πŸ“

⭐ Informational options ⭐

  • --config-help β€” show configuration file summary. the TL;DR. πŸ“–
  • --show-config-options β€” show compilation options. πŸ”§
  • -?, --help β€” give this help list. hi, this is the help list. 🫢
  • --usage β€” give a short usage message. the short version, for when you're in a hurry. πŸƒ
  • -V, --version β€” print program version. πŸ“Œ

okay so important rule, bestie: mandatory or optional arguments to long options are also mandatory or optional for any corresponding short options. that's just how it works, no cap. πŸ’…

🧚 Sieve-specific debug levels 🧚

  • trace1 β€” print parse tree before optimization
  • trace2 β€” print parse tree after optimization
  • trace3 β€” print parser traces
  • trace4 β€” print tests and actions being executed
  • trace9 β€” print each Sieve instruction being executed

🌈 Compatibility debug flags 🌈

  • g β€” main parser traces
  • T β€” mailutils traces (same as --debug-level=sieve.trace0-trace1)
  • P β€” network protocols (same as --debug-level=sieve.=prot)
  • t β€” sieve trace (same as --debug-level=sieve.=trace4)
  • i β€” sieve instructions trace (same as --debug-level=sieve.=trace9)

😭 REPORTING BUGS 😭

Report bugs to <bug-mailutils@gnu.org>.

GNU Mailutils home page: <http://mailutils.org>

General help using GNU software: <http://www.gnu.org/gethelp/>


Copyright Β© 2007-2025 Free Software Foundation, inc.

License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>

This is free software: you are free to change and redistribute it.

There is NO WARRANTY, to the extent permitted by law.

read that NO WARRANTY part again bestie, it's in caps for a reason 🫠

πŸ’œ SEE ALSO πŸ’œ

The complete GNU mailutils documentation is maintained as a Texinfo manual. If the mailutils-doc package is installed, the command

info mailutils

should give you access to the complete manual.

You can also find this manual online in the GNU mailutils webpage: https://www.gnu.org/software/mailutils/manual/index.html.

⚠️ Please note this manpage was automatically generated by the Debian mailutils packagers. Do not file bugs for its content to the GNU Mailutils upstream authors. πŸ’… (so like, don't @ them about this page specifically, okay?)

and that's the whole page, bestie! brought to you by the FSF, dated August 2026, and originally headed SIEVE(1) under User Commands. slay, go filter some mail πŸ’–βœ¨πŸŽ€πŸ¦‹

πŸ“¦ where this page comes from