Bulk Email gets Domain Setup and sub-tabs, /marketing/email explains what is missing, campaigns get a From picker

Featurekamo-internal
Shipped
September 16, 2026 at 6:22 PM UTC
Author
Kamo
Commit
8567a76

Settings → Email → Bulk Email is now four sub-tabs in ?sub=: Domain Setup · Sending · Opt Out · Deliverability. The member lands on Domain Setup until a sending domain is verified and on Sending after. Until then the other sub-tabs show a lock and stay focusable; opening one explains what it is for, how far the best domain has come, and links back. Opt Out and Deliverability keep their right (MANAGE_EMAIL_OPT_OUTS or the owner) and move in unchanged; the old ?tab=opt-out and ?tab=deliverability links redirect to their sub-tab, and the menu entry and landing card follow. Each sub-tab puts its own words in the help rail. Domain Setup is built for someone who has never edited DNS: a hero with the three steps and the one they are on (or "Bulk email is ready to send"), a card per domain with live record dots and "Checked 8 seconds ago · checking automatically", and an inline add-a-domain flow (the org domain prefilled and tidied on blur with the change explained, one-click sending names, a live preview, and a debounced lookup that says why a name cannot be used before Continue). One domain's setup (?domain=) shows the detected DNS provider's steps, each record in plain words with copy buttons and its live state ("we see X, it should be Y", the fix for every hint code), Copy all as instructions, the no-CNAME alternative behind a disclosure, Check now, Remove (refused up front while in use, with the server's reason shown if it still refuses), and a reduced-motion-aware success moment leading to "Choose your From address". Everything reads GET **************** through the existing proxy and stays live over **************** no polling, silent re-reads, writes adopt the whole state, and a failed or refused read is an error or access note, never an empty list. /marketing/email: with no campaigns and no verified domain the empty state is an explainer (why, three steps, "Set up my domain", or who can finish it without MANAGE_EMAIL_SETTINGS); a campaign list gets a compact banner that absorbs the no-hosts line, and a FAILING domain is named in red with a link to its setup. Nothing shows while loading or on a failed read. The send-blocker banner links NO_SENDING_DOMAIN and FROM_DOMAIN_NOT_VERIFIED to Domain Setup. The campaign editor's From is a picker: the default sender, or an address on a verified domain (local part, domain, From name), saved as fromEmail/fromName; a saved From on an unverified domain is warned about with a link to its setup. settingsMenuTabCoverage learns &sub= and checks each linked sub-tab exists.

All changes

Like what you see shipping?

All of it arrives in your workspace on its own. Start on the free plan and read this page again in a month.

Start Free ForeverView Pricing