- Home
- Download
- Contribute
- Support
- Cyrus SASL

# ipurge

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

## Synopsis

    ipurge [ -f ] [ -C config-file ] [ -x ] [ -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.

ipurge reads its configuration options out of the 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).

`-f```

  Force ipurge to examine mailboxes below INBOX.* and user.*.

`-d` `days`

  Age of message in days.

`-b` `bytes`

  Size of message in bytes.

`-k` `Kbytes`

  Size of message in Kbytes (2^10 bytes).

`-m` `Mbytes`

  Size of message in Mbytes (2^20 bytes).

`-x```

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

`-X```

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

`-i```

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

`-s```

  Skip over messages that have the \Flagged flag set.

`-o```

  Only purge messages that have the \Deleted flag set.

`-n```

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

`-v```

  Enable verbose output/logging.

## Examples

[NB: Examples needed]

## Files

/etc/imapd.conf

## See Also

imapd.conf(5)