github s1t5/mail-archiver 2611.1

2 hours ago

✨ New Features

  • Mailcow Integration - Connect Mailcow instances and provision dedicated IMAP app passwords for selected mailboxes, including retry and revocation. Thanks to @tilwegener
  • Complete Message Download & Original Message Storage - Download any archived email as a complete .eml through the REST API (GET /emails/{id}/eml) and the MCP server (get_email_eml). With RawMessages:Enabled (off by default) the original message is stored as received and returned byte for byte by GET /emails/{id}/raw and get_email_raw, including its SHA-256 and capture source @kipp-ing
  • MP4 Attachment Preview - MP4 and M4V attachments can be played in the attachment preview dialog, including seeking. Thanks to @anonimitoraf
  • Chinese Language Support - Complete Simplified Chinese translation with automatic zh/zh-Hans browser detection. Thanks to @wolfbolin
  • Brazilian Portuguese Language Support - Complete Brazilian Portuguese translation, selectable in the language menu. Thanks to @mvldebian
  • Japanese Language Support - Complete Japanese translation, selectable in the language menu. Thanks to @ikawa-ohno

🐛 Bug Fixes

  • EML Import Failing with "interval out of range" - Importing messages whose Date: header is malformed or out of range no longer aborts the job with a PostgreSQL 22008 error. The import now uses the shared date fallback chain (Date header, then the Received chain, then Resent-Date) instead of MimeKit's raw value, and every SentDate - written or compared - is restricted to a plausible range of 1970 to 2100. This also fixes duplicate detection against rows an earlier version wrote with a year-1 date.
  • Leftover Client Secret on Provider Switch - Switching an account to Microsoft Personal (MSA) now drops a stored client secret instead of sending it with every token refresh, e.g. after switching from Microsoft 365 or when falling back to the shared default client ID.
  • Export of Emails with Non-Standard Addresses - Emails whose stored sender or recipient is not a valid email address (e.g. an Exchange X.500 DN such as /O=EXCHANGELABS/.../CN=RECIPIENTS/CN=...) are no longer skipped during EML/MBox export. The original value is preserved in an X-MailArchiver-Original-From/-To/-Cc/-Bcc header, and valid addresses next to it are kept.
  • Restore Keeps Original Addresses - Restoring to IMAP no longer replaces an unparsable sender or recipient with a placeholder address (sender@example.com/recipient@example.com); the original value is preserved in a header instead.

Don't miss a new mail-archiver release

NewReleases is sending notifications on new releases.