IPURGE(8)

NAME
ipurge - Cyrus IMAP documentation

Delete mail from IMAP mailbox or partition based on age or size

SYNOPSIS

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

DESCRIPTION

ipurge deletes messages from the mailbox(es) specified by Imailbox-pattern that are older or larger than specified by the -d, -b, -k or -m options. If no mailbox-pattern is given, ipurge works on all mailboxes. If the -x option is given, the message age and size MUST match exactly those specified by -d, -b, -k or -m. The are no default values, and at least one of -d, -b, -k or -m MUST be specified.

Ipurge by default only deletes mail below shared folders, which means that mails in mailbox(es) below INBOX.* and user.* stay untouched. Use the option -f to also delete mail in mailbox(es) below these folders. Use the -M option to not recurse into the mailboxes.

ipurge reads its configuration options out of the imapd.conf(5) <#std-cyrusman-imapd.conf-5> file unless specified otherwise by -C.

OPTIONS

-C config-file
    Use the specified configuration file config-file rather than the default imapd.conf(5) <#std-cyrusman-imapd.conf-5>.

-f, --include-user-mailboxes
    Force ipurge to examine mailboxes below INBOX.* and user.*.

-d days, --days=days
    Age of message in days.

-b bytes, --bytes=bytes
    Size of message in bytes.

-k Kbytes, --kbytes=Kbytes
    Size of message in Kbytes (2^10 bytes).

-m Mbytes, --mbytes=Mbytes
    Size of message in Mbytes (2^20 bytes).

-x, --exact-match
    Perform an exact match on age or size (instead of older or larger).

-X, --delivery-time
    Use delivery time instead of Date: header for date matches.

-i, --invert-match
    Invert match logic: -x means not equal, date is for newer, size is for smaller.

-s, --skip-flagged
    Skip over messages that have the \Flagged flag set.

-o, --only-deleted
    Only purge messages that have the \Deleted flag set.

-n, --dry-run
    Only print messages that would be deleted (dry run).

-v, --verbose
    Enable verbose output/logging.

EXAMPLES

[NB: Examples needed]

FILES

/etc/imapd.conf

SEE ALSO

imapd.conf(5) <#std-cyrusman-imapd.conf-5>

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

Copyright
1993–2026, The Cyrus Team