IPURGE(8)

πŸ’– IPURGE(8) β€” the Cyrus IMAP glow-up πŸ’–

okay bestie, sit down, hydrate, because we're about to talk about ipurge β€” it's a Cyrus IMAP thing, section 8 of the manual (admin tools, the powerful girlies), and it's literally the "delete the old stuff and the big stuff" button for your mailboxes. no cap. 🧹✨


✨ NAME ✨

ipurge β€” Cyrus IMAP documentation, fr fr

Delete mail from IMAP mailbox or partition based on age or size β€” that's the whole vibe. age, size, gone. πŸ’…


🌸 SYNOPSIS 🌸

ipurge [ -f ] [ -C config-file ] [ -x ] [ -M ] [ -X ] [ -i ] [ -s ] [ -o ] [ -n ] [ -v ]
        [ -d days | -b bytes | -k Kbytes | -m Mbytes ]
        [ mailbox-pattern... ]

like, look at her. she's got range. πŸ‘‘


πŸ¦‹ DESCRIPTION πŸ¦‹

so here's the tea. ipurge deletes messages from the mailbox(es) you point at with mailbox-pattern that are older or larger than whatever you told it with the -d, -b, -k or -m options. that's it. that's the job. πŸ—‘οΈ

if you give it no mailbox-pattern at all, ipurge just goes ahead and works on all mailboxes. main character energy honestly. 😭

and if you pass the -x option, the message age and size MUST match exactly what you specified with -d, -b, -k or -m. no fuzzy matching, no "close enough". exact.

⚠️ there are no default values, and at least one of -d, -b, -k or -m MUST be specified. you cannot just run this and hope for the best, bestie. it will not vibe with that. πŸ’€

by default, ipurge only deletes mail below shared folders β€” which means mail in mailbox(es) below INBOX.* and user.* stays untouched. like, protected. safe. cozy. 🫢

wanna reach those too? use the -f option and it'll also delete mail in mailbox(es) below those folders. and if you don't want it to recurse into the mailboxes at all, that's the -M option. pick your fighter. πŸ₯Š

also ipurge reads its configuration options out of the imapd.conf(5) file unless you say otherwise with -C. standard. iconic. πŸ’…


πŸ’œ OPTIONS πŸ’œ

  • -C config-file β€” use the config file config-file you specified instead of the default imapd.conf(5). custom config, custom life. πŸŽ€
  • -f, --include-user-mailboxes β€” force ipurge to examine mailboxes below INBOX.* and user.*. yep, even those. πŸ’–
  • -d days, --days=days β€” age of message in days. how old is too old? you decide. ⏳
  • -b bytes, --bytes=bytes β€” size of message in bytes. πŸ“
  • -k Kbytes, --kbytes=Kbytes β€” size of message in Kbytes (that's 2^10 bytes, iykyk). 🌸
  • -m Mbytes, --mbytes=Mbytes β€” size of message in Mbytes (that's 2^20 bytes, we love a big unit). 🌈
  • -x, --exact-match β€” perform an exact match on age or size, instead of "older or larger". precision, periodt. ✨
  • -X, --delivery-time β€” use the delivery time instead of the Date: header when matching dates. the header can lie, the delivery knows. πŸ’…
  • -i, --invert-match β€” invert the match logic: -x means not equal, date is for newer, size is for smaller. flip it, reverse it. πŸ”„
  • -s, --skip-flagged β€” skip over messages that have the \Flagged flag set. if you flagged it, you meant it. respect. 🚩
  • -o, --only-deleted β€” only purge messages that have the \Deleted flag set. so polite. πŸŽ€
  • -n, --dry-run β€” only print the messages that would be deleted (dry run). look before you leap, bestie. πŸ”
  • -v, --verbose β€” enable verbose output/logging. she talks. we listen. πŸ—£οΈ

πŸŽ€ EXAMPLES πŸŽ€

[NB: Examples needed]

literally the original says that. the examples are... needed. someone get on that. πŸ™ˆ


πŸ’– FILES πŸ’–

  • /etc/imapd.conf

⭐ SEE ALSO ⭐


πŸ‘‘ AUTHOR πŸ‘‘

The Cyrus Team, Nic Bernstein (Onlight), Jeroen van Meeuwen (Kolab Systems)


1993–2026, The Cyrus Team


and that's the whole page, babe. go forth and purge responsibly (or use -n first, pls, i'm begging). πŸ’–

Cyrus IMAP 3.12.4 β€” Sep 09, 2026 πŸ¦‹ mwah, mwah, slay, bye bestie πŸ’…βœ¨

πŸ“¦ where this page comes from