# %{fetch_body_count} - Number of mails with mail body data sent to client
# %{fetch_body_bytes} - Number of bytes with mail body data sent to client
# %{deleted} - Number of mails where client added \Deleted flag
-# %{expunged} - Number of mails that client expunged
+# %{expunged} - Number of mails that client expunged, which does not
+# include automatically expunged mails
+# %{autoexpunged} - Number of mails that were automatically expunged after
+# client disconnected
# %{trashed} - Number of mails that client copied/moved to the
# special_use=\Trash mailbox.
#imap_logout_format = in=%i out=%o
{ '\0', NULL, "deleted" },
{ '\0', NULL, "expunged" },
{ '\0', NULL, "trashed" },
+ { '\0', NULL, "autoexpunged" },
{ '\0', NULL, NULL }
};
struct var_expand_table *tab;
tab[7].value = dec2str(client->deleted_count);
tab[8].value = dec2str(client->expunged_count);
tab[9].value = dec2str(client->trashed_count);
+ tab[10].value = dec2str(client->autoexpunged_count);
str = t_str_new(128);
var_expand(str, client->set->imap_logout_format, tab);
hibernations it could also be doing unnecessarily much work. */
imap_refresh_proctitle();
if (!client->hibernated) {
- mail_user_autoexpunge(client->user);
+ client->autoexpunged_count = mail_user_autoexpunge(client->user);
client_log_disconnect(client, reason);
}
mail_user_unref(&client->user);
unsigned int fetch_hdr_count, fetch_body_count;
uint64_t fetch_hdr_bytes, fetch_body_bytes;
unsigned int deleted_count, expunged_count, trashed_count;
+ unsigned int autoexpunged_count;
/* SEARCHRES extension: Last saved SEARCH result */
ARRAY_TYPE(seq_range) search_saved_uidset;