UNEXPUNGE(8)
π UNEXPUNGE(8) π
okay bestie, welcome to unexpunge β it's part of the Cyrus IMAP docs and it's genuinely the "undo button" of the mail world. Let's get into it. π«Ά
β¨ NAME β¨
unexpunge β the Cyrus IMAP tool that recovers messages the user has (accidentally) deleted. ππ
β¨ SYNOPSIS β¨
unexpunge [ -C config-file ] -l mailbox [ uid... ]
unexpunge [ -C config-file ] -t time-interval [ -d ] [ -v ] [ -f flagname ] mailbox
unexpunge [ -C config-file ] -a [ -d ] [ -v ] [ -f flagname ] mailbox
unexpunge [ -C config-file ] -u [ -d ] [ -v ] [ -f flagname ] mailbox uid...
πΈ DESCRIPTION πΈ
So the whole point of unexpunge: it lists or restores messages that got deleted from a mailbox but are still chillin' in the Cyrus IMAP mail spool. They're not gone gone, bestie. They're just lurking. π
β οΈ This utility is only useful when the server is configured withexpunge_modeset todelayedin its configuration file. No delayed mode, no resurrection, periodt.
And unexpunge reads its configuration options out of the imapd.conf(5) file unless you say otherwise with -C. β¨
π OPTIONS π
-C config-fileβ use config-file as the config file instead of the defaultimapd.conf(5). iykyk.-l,--listβ list the expunged messages in the specified mailbox that are available for restoration. Optional lil' bonus: you can only list the messages matching the UIDs in that space-separated list at the very end of the command invocation. π-t time-interval,--within-time-interval=time-intervalβ unexpunge the messages that were expunged within the last time-interval seconds. Want a different time unit? Use one of the trailing modifiers:m(minutes),h(hours),d(days) orw(weeks). π°οΈ-a,--allβ restore all of the expunged messages in the specified mailbox. main character energy fr fr.-u,--uidsβ restore only the messages matching the UIDs, in a space-separated list at the end of the command invocation, in the specified mailbox.-d,--unset-deletedβ unset the\Deletedflag on any restored messages.-f flagname,--set-flag=flagnameβ set the user flag\flagnameon the messages restored, which makes it way easier for the user(s) to find the restored messages and operate on them (in a batch). π-v,--verboseβ enable verbose output/logging. For when you simply must know everything. π₯
π¦ EXAMPLES π¦
unexpunge -l user/john@example.org
List the messages that are expunged and could be restored for mailbox user/john@example.org.
unexpunge -u user/john@example.org 278787 278788
Unexpunge two of these messages.
mbexamine user/john@example.org
Examine the mailbox for the two restored messages.
unexpunge -u -d user.johnsmith 46908
Unexpunge a select message based on its UID, clearing the \Deleted flag.
unexpunge -a user.johnsmit.Trash
Unexpunge all messages in a user's Trash, but leave them flagged \Deleted.
unexpunge -a -f Flagged user.johnsmith.Trash
The same, but setting user flag \Flagged to facilitate later bulk operations.
unexpunge -t 24h -d -f Flagged user.johnsmith
Unexpunge messages matching only a given time period.
unexpunge -t 24h -d -f Flagged user/johnsmith
The same command, supporting the unixhierarchysep: yes option in imapd.conf(5).
π FILES π
/etc/imapd.conf
β SEE ALSO β
π AUTHOR π
The Cyrus Team, Nic Bernstein (Onlight), Jeroen van Meeuwen (Kolab Systems). absolute icons, no cap.
πΈ COPYRIGHT πΈ
1993β2026, The Cyrus Team
okay that's the whole page bestie, go forth and un-delete π β¨
Cyrus IMAP unexpunge, version 3.12.3, dated Jul 15, 2026 β that's the vibe check for this one, and yes, UNEXPUNGE(8) is the section it lives in. mwah π«Ά
π¦ where this page comes from
- ubuntu stonking: cyrus-common 3.12.3-3build1 Β· CMU
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms