From 1e025afdfea4743e1aeadcd5ca40f2157ee6d92a Mon Sep 17 00:00:00 2001 From: LongYinan Date: Wed, 21 Oct 2026 12:17:56 +0800 Subject: [PATCH 1/2] docs(email): say that domain add refuses an apex with existing mail The guide said Void "preserves foreign MX records", which reads as if an apex whose mail stays with another provider can be registered. domain add refuses an apex that already has MX records, or whose catch-all routes elsewhere. Say so, as the CLI reference does. Fixes #509 Co-Authored-By: Claude Opus 5.5 (1M context) --- docs/guide/email/domains.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/guide/email/domains.md b/docs/guide/email/domains.md index 4252fbc98..260ac4f4e 100644 --- a/docs/guide/email/domains.md +++ b/docs/guide/email/domains.md @@ -16,7 +16,7 @@ void email domain add acme.com `add` opens a Cloudflare API-token template. Restrict the token to the selected account and mail zone before creating it; Workers Scripts permission applies across that account. The CLI accepts a masked paste or a newly copied token and asks you to confirm those restrictions. The platform encrypts the credential for the zone connection, so projects sharing that zone do not need separate ingress Workers. -Platform-managed custom inbound email requires the apex of a Cloudflare zone. Cloudflare’s catch-all only covers that apex, so a subdomain of the selected zone cannot receive arbitrary addresses. Choose an apex without another mail provider, or use the platform’s shared mail address. Void preserves foreign MX records and enabled catch-alls. Each custom apex belongs to one project; a project can register more than one apex. +Platform-managed custom inbound email requires the apex of a Cloudflare zone. Cloudflare’s catch-all only covers that apex, so a subdomain of the selected zone cannot receive arbitrary addresses. `add` refuses an apex that already has MX records, or whose catch-all already routes elsewhere, so it never takes over mail hosted with another provider such as Microsoft 365 or Google Workspace. Use an apex that has no mail yet, or the platform’s shared mail address. Each custom apex belongs to one project; a project can register more than one apex. If setup is interrupted, use `void email domain status ` to inspect the saved operation before retrying. From c854499c522143cf8117c83d4393fc6932925cf2 Mon Sep 17 00:00:00 2001 From: LongYinan Date: Wed, 21 Oct 2026 12:20:47 +0800 Subject: [PATCH 2/2] docs(email): limit the MX refusal to new registrations Running domain add again for a registered apex, for example to renew its token, still works: the apex then has Void's own Email Routing MX. Co-Authored-By: Claude Opus 5.5 (1M context) --- docs/guide/email/domains.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/guide/email/domains.md b/docs/guide/email/domains.md index 260ac4f4e..6e6eb8f62 100644 --- a/docs/guide/email/domains.md +++ b/docs/guide/email/domains.md @@ -16,7 +16,7 @@ void email domain add acme.com `add` opens a Cloudflare API-token template. Restrict the token to the selected account and mail zone before creating it; Workers Scripts permission applies across that account. The CLI accepts a masked paste or a newly copied token and asks you to confirm those restrictions. The platform encrypts the credential for the zone connection, so projects sharing that zone do not need separate ingress Workers. -Platform-managed custom inbound email requires the apex of a Cloudflare zone. Cloudflare’s catch-all only covers that apex, so a subdomain of the selected zone cannot receive arbitrary addresses. `add` refuses an apex that already has MX records, or whose catch-all already routes elsewhere, so it never takes over mail hosted with another provider such as Microsoft 365 or Google Workspace. Use an apex that has no mail yet, or the platform’s shared mail address. Each custom apex belongs to one project; a project can register more than one apex. +Platform-managed custom inbound email requires the apex of a Cloudflare zone. Cloudflare’s catch-all only covers that apex, so a subdomain of the selected zone cannot receive arbitrary addresses. `add` refuses to register a new apex that already has MX records, or whose catch-all already routes elsewhere, so it never takes over mail hosted with another provider such as Microsoft 365 or Google Workspace. Use an apex that has no mail yet, or the platform’s shared mail address. Running `add` again for a registered apex, for example to renew its token, keeps working. Each custom apex belongs to one project; a project can register more than one apex. If setup is interrupted, use `void email domain status ` to inspect the saved operation before retrying.