Deleting old contact form entries automatically
Set a retention period: entries older than a number of days you choose are deleted automatically. It's one of the simplest ways to follow the GDPR principle of keeping personal data no longer than needed — and it keeps the table from growing for ever.
Choosing a period
There's no single right number. Ask how long you genuinely need an enquiry after you've answered it. A shop answering product questions might keep them for 90 days; an agency that quotes on projects might keep them for a year or two. Write the period into your privacy policy, too.
How the deleting runs
Many plugins rely on WP-Cron, which only runs when someone visits the site and is switched off on some servers — so the cleanup can silently stop. Mailbag Contact Form doesn't use WP-Cron at all. The cleanup runs when an administrator opens a page in the dashboard, or after a form is sent, and at most once every 12 hours. A site that's in use keeps itself tidy; a site nobody visits has no new entries to worry about.
What gets deleted
Under Mailbag → Settings → Privacy you set the number of days. Entries older than that are removed in full. Spam is handled separately: caught spam is kept for 30 days, at most 1,000 entries, so a real message filed as spam by mistake can still be recovered, and then it's gone.
Deleting an entry also tells any add-on through a WordPress action, so Mailbag Pro removes that entry from its own retry queue instead of trying to deliver something that no longer exists.
Deleting on request
Retention handles the routine. When one person asks to be forgotten, use WordPress' Erase Personal Data tool: Mailbag registers with it, so entries with that email address are found and deleted. See export and erase requests.
Mailbag Contact Form is a free contact form that saves every entry before it sends anything, and shows you what happened to each email.
See what it does