Inbound mail forwarded via the Cloudflare Worker was being quarantined or silently dropped by strict recipient providers (Microsoft 365 and similar) because plain forwarding breaks DKIM and misaligns SPF. This release adds an alternative, admin-selectable Brevo re-send delivery mode that DKIM-signs the onward hop against the group domain.
From: address.Each committee role picks its delivery mode independently. The legacy Cloudflare forward stays available for low-friction setups; Brevo re-send is marked Recommended for any role that has seen delivery trouble.

The shared-inbox banner at the top confirms which committee members a role fans out to. The delivery-method radios have plain-English helper text and an Active strip showing the live worker.

Not yet active — 3 committee members configured — mail won't be delivered until the Worker is deployed. The Deploy Worker button creates the worker from the Brevo re-send template and wires it to the HMAC webhook.

Worker is live. Update Worker is greyed out because the deployed script matches what the generator would produce today — it self-enables later if a template change introduces drift.

The radios have diverged from the live worker, so an inline Apply delivery method change CTA appears with a Currently live: Brevo re-send. Click to switch. hint. Nothing is redeployed until the admin clicks it.

Worker has been redeployed from the Cloudflare forward template. The Active strip now reads via Cloudflare forward.
/api/cloudflare/email-routing/inbound-mime over HMAC-signed JSON.From, Reply-To, To and the authentication-related headers). HTML body, inline images, attachments, multipart/alternative and boundaries are preserved byte-for-byte.Because Brevo is the sending authority for the group domain, the onward hop is SPF-aligned and DKIM-valid end-to-end. Rich HTML, inline images and alternative parts render exactly as the sender composed them.
GET /workers/:scriptName/info endpoint fetches the deployed script, regenerates it from the current template, and byte-compares. When they differ, the Update Worker button self-enables and the first differing byte range is logged.systemConfig() on first use; only SMTP credentials need entering per env.<img> tags quoted inside code spans or fenced code blocks no longer trigger a false 📸 marker on the release-notes index.