github s1t5/mail-archiver 2607.4

4 hours ago

✨ New Features

  • MCP Server - Optional Model Context Protocol server (Streamable HTTP transport at /mcp) that can exposes the archived mail to AI agents via the tools list_accounts, list_folders, search_emails, get_email and get_attachment. See MCP.
  • Calendar/Meeting Invitations - iCalendar (text/calendar) parts from meeting invites are now preserved as .ics attachments and rendered as a readable plain-text summary (start, end, location, organizer, attendees, description).
  • Acknowledge Sync Failures - New "Acknowledge Failures" button on the Jobs page for completed sync jobs with failed emails. .

⚙️ Improvements

  • Retention Deletion Logging - Server-side (IMAP/M365) and local retention deletions are now recorded in the AccessLogs page as a new Retention log category.
  • SQL Injection Hardening in Email Search - EmailCoreService.SearchEmailsAsync now canonicalizes sortBy/sortOrder centrally (any unknown value falls back to the defaults) and parametrizes LIMIT/OFFSET instead of interpolating integers.

🐛 Bug Fixes

  • Client-Side Date Guard for Email Deletion - The IMAP and M365 retention deletion now re-verifies the message date client-side before deleting from the live mailbox, regardless of the server-side date filter. Protects against IMAP servers with non-compliant SENTBEFORE implementations.
  • Retention deletes mails with malformed Message-ID headers - Mails with non-standard Message-ID headers (e.g. doubled closing angle bracket <id@host>>) are now correctly matched against the archive by Delete After Days retention, instead of being silently skipped as "not archived".

Don't miss a new mail-archiver release

NewReleases is sending notifications on new releases.