github maathimself/mailflow v3.5.9

3 hours ago

MailFlow v3.5.9

The Yahoo release: after six rounds and three reporters' worth of logs, connection-limited providers finally get a client that behaves the way Thunderbird does. Plus a major database-load fix, four more fixes, and six quality-of-life features. Thanks to @amalroymj and @jokhond for carrying the Yahoo testing across multiple builds, @lawyer61 for a fully-instrumented Postgres report and beta verification, @derolidev for the raw IMAP traces that settled the Strato bug, @harikiran-lab for the delivery logs behind the SMTP fixes, and @Monkey7539 for the draft-autosave fix.

Fixed: living politely under Yahoo's login rate limit (#474, closed)

  • Folder status, the staleness check, and reconcile now run over the connection pool MailFlow already holds instead of opening a fresh login each cycle. Measured by a reporter across 7 hours: refusals dropped from ~26/hour to ~0-2/hour, with every remaining backoff climbing exactly one attempt per rung.
  • The pool only grows through the same backoff every other secondary login honors, and a session left with an abandoned command in flight is closed rather than reused.
  • Yahoo accounts that were already in the penalty box need some quiet time after upgrading; both reporters saw them come good on their own.

Fixed: constant Postgres load on Outlook / Exmail accounts (#495)

  • Servers without CONDSTORE re-downloaded and rewrote their newest messages every sync tick, forever. Reporter-measured on an idle 12-account instance: row updates down 20x, WAL down 12x, IMAP traffic down 3x. A new index also removes a full-table scan that ran for every processed reply.
  • Migration 0060 swaps that index automatically on first start.

Fixed

  • Strato accounts: reconcile and integrity restored (#472). Strato accepts IMAP4rev2 despite not advertising it, then returns empty SEARCH results that poisoned everything membership-based. MailFlow no longer enables IMAP4rev2 there.
  • Outgoing mail identifies its sending host (#492). In containers, the SMTP library introduced itself as [127.0.0.1], which strict spam filters treat as forgery. MailFlow now uses your APP_URL hostname (override with SMTP_EHLO_NAME).
  • OIDC issuers on private networks (#494). The "Allow private / local hosts" policy now applies to issuer URLs, so a LAN identity provider with a valid certificate works without disabling TLS verification.
  • Opening a draft no longer silently replaces it (#496, @Monkey7539). A draft written by another client was overwritten by autosave within 30 seconds of being opened, dropping its attachments.

Added: quality of life

  • Undo with Ctrl+Z (#449): archive, delete, move, and spam actions show an undo toast; Ctrl+Z (rebindable) fires the newest one, including for GTD classifications.
  • Ctrl/Cmd- and Shift-click multi-select (#220): modifier-click a row to enter selection mode directly, file-manager style, with the open message as the anchor.
  • Star in the multi-select bar (#434), backed by a bulk endpoint that only writes real changes.
  • Customizable hover actions (#440): pick which quick actions rows show, now including Archive and Snooze (Settings > Message list).
  • Download as .eml (#381): the message More menu saves the full original, attachments included.
  • BACKEND_HOST / BACKEND_PORT (#436): point the frontend at a backend named anything, for Kubernetes and Podman setups, without replacing nginx.conf.

Upgrading

ghcr.io/maathimself/mailflow-backend:latest points at 3.5.9, published for amd64 and arm64. Migration 0060 runs automatically; no manual steps.

Don't miss a new mailflow release

NewReleases is sending notifications on new releases.