Domains › Deliverability: what other mail servers see of this one #83

Merged
jcoffey-dev merged 1 commits from feat/deliverability-page into main 2026-10-06 01:28:11 +00:00
Owner

The console side of the deliverability check (inbuxa-drafts specs/deliverability.md), roadmap item 7. Reads the reports from inbuxa-server #150 (merged); the Domains › Deliverability menu link is inbuxa-server #153.

The page (DL-17): sending addresses grouped by node, then domains, worst first. Each finding is Fail, Warn or Couldn't check, one sentence on what's wrong and one on why, and one fix: the list's removal page, the domain, the setting (certificates, MTA-STS), or "set with your hosting provider" for reverse DNS. Passed checks fold away with a not-checked count (lists switched off). No score, no "all good" banner, as on the Security page.

Grading (features/deliverability/grade.ts, 11 tests): listings (a refusal or undefined code is Couldn't check, with the list's note where it has one, e.g. Barracuda's resolver registration); reverse DNS missing / not back / not the EHLO name; SPF per node address, naming the node; DKIM missing or different; DMARC fails only when neither DKIM nor SPF vouches (no record is the Security page's); MTA-STS unfetched / MX left out / testing, and TLS-RPT with it; certificates.

Check now (DL-15): asks every node, polls every 5 s for up to 3 min until the receiving node's report is newer; disabled for ten minutes after the newest check, with when it's possible again.

Blocklists asked: a switch per list for whoever has sysDeliverabilityUpdate.

Needs attention (DL-18): a critical tile for blocklist and reverse-DNS failures, linking to the page. Hover card (DL-19): a domain's worst failure.

Tenant administrators see their domains only (the server sends no more), and no Check now or switches.

Strings: 77 new English strings; no other catalogues yet. Listing meanings and list notes come from the server, in English.

Checked

  • npm test (63 files, 606 tests), typecheck, lint, i18n check, build.
  • In Chrome against a local 2026.10.5 server with #150 and #153: the menu entry, the empty state, the list switches (off, kept across a reload, back on).
  • Check now didn't finish there: the preview runs in recovery mode, which doesn't start the background services (by design). The server side is covered by #150's system test.
  • With sample reports fed to the page (fetch patched in the tab): two nodes, the ZEN listing, missing PTR, missing certificate, SPF/DKIM/DMARC failures, MTA-STS testing, Barracuda's note, the passed fold, and the Needs attention tile with 2.
  • Not looked at in a browser: the hover card line (the preview has no such domain); covered by worstFor's test.
The console side of the deliverability check (inbuxa-drafts `specs/deliverability.md`), roadmap item 7. Reads the reports from inbuxa-server #150 (merged); the Domains › Deliverability menu link is inbuxa-server #153. **The page (DL-17):** sending addresses grouped by node, then domains, worst first. Each finding is **Fail**, **Warn** or **Couldn't check**, one sentence on what's wrong and one on why, and one fix: the list's removal page, the domain, the setting (certificates, MTA-STS), or "set with your hosting provider" for reverse DNS. Passed checks fold away with a not-checked count (lists switched off). No score, no "all good" banner, as on the Security page. **Grading** (`features/deliverability/grade.ts`, 11 tests): listings (a refusal or undefined code is Couldn't check, with the list's note where it has one, e.g. Barracuda's resolver registration); reverse DNS missing / not back / not the EHLO name; SPF per node address, naming the node; DKIM missing or different; DMARC fails only when neither DKIM nor SPF vouches (no record is the Security page's); MTA-STS unfetched / MX left out / testing, and TLS-RPT with it; certificates. **Check now (DL-15):** asks every node, polls every 5 s for up to 3 min until the receiving node's report is newer; disabled for ten minutes after the newest check, with when it's possible again. **Blocklists asked:** a switch per list for whoever has `sysDeliverabilityUpdate`. **Needs attention (DL-18):** a critical tile for blocklist and reverse-DNS failures, linking to the page. **Hover card (DL-19):** a domain's worst failure. **Tenant administrators** see their domains only (the server sends no more), and no Check now or switches. **Strings:** 77 new English strings; no other catalogues yet. Listing meanings and list notes come from the server, in English. **Checked** - `npm test` (63 files, 606 tests), typecheck, lint, i18n check, build. - In Chrome against a local 2026.10.5 server with #150 and #153: the menu entry, the empty state, the list switches (off, kept across a reload, back on). - **Check now** didn't finish there: the preview runs in recovery mode, which doesn't start the background services (by design). The server side is covered by #150's system test. - With sample reports fed to the page (fetch patched in the tab): two nodes, the ZEN listing, missing PTR, missing certificate, SPF/DKIM/DMARC failures, MTA-STS testing, Barracuda's note, the passed fold, and the Needs attention tile with 2. - **Not looked at in a browser:** the hover card line (the preview has no such domain); covered by `worstFor`'s test.
jcoffey-dev added 1 commit 2026-10-05 23:44:13 +00:00
Domains › Deliverability: what other mail servers see of this one
ci / build (pull_request) Skipped
ci / publish (pull_request) Skipped
github/ci (branch) GitHub Actions
ci / github (pull_request) Successful in 1m2s
4f34cddb4d
The console side of the deliverability check (deliverability spec), on
the reports inbuxa-server #150 keeps; the menu link is server #153.

- The page (DL-17): sending addresses per node, then domains, worst
  first, each finding Fail, Warn or Couldn't check with one fix: the
  list's removal page, the domain, the setting, or a note that the
  hosting provider sets it. Passed checks folded away; no score and no
  "all good" banner, as on the Security page.
- Grading lives in the console (grade.ts): blocklists, reverse DNS,
  SPF per node, DKIM keys, DMARC alignment, MTA-STS and TLS-RPT,
  certificates. A refused lookup is Couldn't check, with the list's own
  note where it has one (Barracuda's resolver registration).
- Check now (DL-15) asks every node and polls until the receiving
  node's report is newer; it's off for ten minutes after a check.
- Blocklists asked: a switch per list, for whoever may change them.
- Needs attention (DL-18): blocklist and reverse-DNS failures.
- The domain hover card (DL-19): the domain's worst failure.
- A tenant administrator sees their domains only, as the server sends.

77 new English strings; no other catalogues yet. Listing meanings and
list notes come from the server, in English.
jcoffey-dev merged commit e5f7b85727 into main 2026-10-06 01:28:11 +00:00
jcoffey-dev deleted branch feat/deliverability-page 2026-10-06 01:28:12 +00:00
Sign in to join this conversation.