В Exchange 2010 при удалении сообщений из почтового ящика пользователя сообщение фактически не удаляется, а перемещается в скрытую папку Recoverable Items. Письмо хранится в этой папке ещё некоторое время (по умолчанию 14 дней), после чего специальным ассистентом перемещается в другую скрытую папку Purge, откуда уже по возможности почтовым сервером письмо окончательно удаляется. Фактически, пользователь не имеет права ничего удалять из своего почтового ящика. Все операции, связанные с удалением производятся почтовой системой по истечении сроков хранения данных. Иногда это приводит к забавным случаям.
Пример: у нас имеется почтовый ящик, который принимает большой объём входящей корреспонденции. Специальный робот через pop3 забирает эту почту (и фактически удаляет из почтового ящика). В некоторый момент робот начинает ругаться на то, что он не может с сервера удалить сообщение. Статистика по почтовому ящику показывает:
Get-Mailbox mailbox | Get-MailboxStatistics | fl TotalDeletedItemSize TotalDeletedItemSize : 30 GB
Стандартная квота на размер папки, в которую перемещаются сообщения после удаления пользователем составляет 30 Гб. При превышении этой квоты пользователь ничего не сможет удалить из почтового ящика, пока соответствующий ассистент на сервере не удалит сообщения с истёкшим временем хранения. Но есть лазейка для администратора – он может специальным командлетом почистить сообщения из папки Recoverable Items:
Search-Mailbox -Identity mailbox -SearchDumpsterOnly -DeleteContent
Ключ SearchDumpsterOnly говорит о том, что поиск производится только по Recoverable Items. Ключ DeleteContent указывает на необходимость удаления того, что найдено в Recoverable Items.
Для того, чтобы избежать повторения ситуации есть два способа – увеличить лимит на папку Recoverable Items, либо снизить время хранения в ней сообщений.
Первый вариант:
Set-Mailbox mailbox -RecoverableItemsQuota 50GB -UseDatabaseQuotaDefaults $false
Второй вариант (например, уменьшаем срок хранения до одного дня):
Set-Mailbox mailbox -UseDatabaseRetentionDefaults $false -RetainDeletedItemsFor 1.00:00:00
Полезные ссылки:
Clean Up the Recoverable Items Folder
Understanding Recoverable Items