Scope and prerequisites
The former ZeptoMail domain-verification URL now presents Zoho CPaaS documentation, updated October 22, 2026. The domain setup below follows that current page and its transactional-email scope. Confirm the product label and account route in your tenant rather than assuming a historical screenshot still matches. The page expressly excludes promotional bulk email; a marketing campaign belongs on a supported marketing service.
Configure the documented route
- Step 1. In Domains, choose Add Domain and enter the exact domain. Associate the appropriate Agent or Agents. Record which application uses each Agent so the test covers the production route.
- Step 2. Select the unverified domain and obtain the generated DKIM TXT and CNAME host/value pairs. Use the DNS-provider selector or Other to understand the expected host format.
- Step 3. Publish both generated records at the authoritative DNS service. The DKIM record carries the public key; the CNAME establishes the bounce or Return-Path subdomain. Do not substitute an arbitrary MX record or a guessed SPF include.
- Step 4. Return to the product and choose Verify. Its current documentation recommends DKIM plus the return-path CNAME and states that a separate SPF record is not required for this verification flow. Existing unrelated SPF policy must remain intact.
- Step 5. If verification is pending, compare the active nameservers and exact records. The documented update window is 24–48 hours; use Check DKIM and Check CNAME in its verification toolkit to investigate rather than repeatedly regenerating keys.
- Step 6. Send a representative transactional notification through the assigned Agent. Record both DKIM and the SPF identity selected by the generated Return-Path.
- Step 7. Keep the records after launch. The service continuously checks them and can suspend sending if required records remain missing beyond the account's stated deadline.
Product-specific risks
A new DKIM selector must be verified before use. The page describes adding up to two new keys after the existing key is verified; use the account's rotation flow, not an immediate deletion of the old DNS key. If a domain is suspended after DNS changes, restore the missing generated entries and reverify. Keep the bounced-message path working: a DKIM pass alone does not prove that bounce processing was preserved.
Prove the route at the receiving end
Use an approved external mailbox and save the complete raw message with its timestamp and message identifier. No live tenant test is claimed in this guide. The following is an acceptance worksheet to complete during implementation, not a record of observed results.
- Evidence field: Visible From; What to record: Actual address and domain; Acceptance question: Is this the intended sender identity?
- Evidence field: Envelope; What to record: Return-Path and receiver-reported SPF domain; Acceptance question: Which domain did SPF actually authenticate?
- Evidence field: SPF; What to record: Trusted receiver result and evaluated identity; Acceptance question: Did it pass, and does that identity align?
- Evidence field: DKIM; What to record: Every d= domain, s= selector and receiver result; Acceptance question: Does at least one passing signature align?
- Evidence field: DMARC; What to record: Receiver result and applicable policy; Acceptance question: Does an aligned passing path exist?
- Evidence field: Route; What to record: Product, account and message type; Acceptance question: Did the test use the production path?
DMARC needs at least one aligned, passing SPF or DKIM path. A passing signature from an unrelated service domain is not enough. Strict alignment requires exact domain equality; relaxed alignment uses the applicable organizational-domain relationship. Check the domain's actual alignment settings before declaring success. A subdomain is not an automatic strict match. SPF uses the SMTP identity, not the display name or Reply-To. Consult the alignment glossary when recording the decision.
Use Authentication-Results from the receiving system you trust, not a header supplied by an arbitrary sender. Capture all signatures rather than stopping at the first failure. For forwarded mail, compare a direct test with a forwarded copy: forwarding may change SPF evaluation or alter signed content. Do not diagnose those effects by adding the forwarder's address to your provider authorization.
Diagnose failures without widening access
Compare authoritative DNS with the exact configured record names first, then check recursive visibility and service validation. A wrong name, truncated key or conflicting CNAME is not fixed by waiting for caches. Keep only one SPF policy at an owner and check the ten DNS-lookup-term limit across evaluated includes and redirects before merging another sender. DKIM selectors belong to individual signing configurations; do not overwrite another application's record to force a validation result.
If authentication passes but delivery is poor, inspect the recipient response, reputation, content and sending permissions separately. DMARC pass does not promise acceptance or inbox placement. If neither path aligns, stop expansion and correct the actual sender configuration. Do not weaken the whole domain's DMARC policy to hide a single product failure.
Handover and recovery
Save the approved DNS diff, public lookup results, service status and redacted received-message worksheet with a named owner. Keep credentials and private keys out of tickets. On failure, pause the affected sending job or use a previously tested route under the service owner's control. Restore only the changed records that belong to this integration; keep public keys needed by in-flight messages. Retest after rollback, key rotation, domain migration or a change in outbound relay. Close the change only when the product owner and mail administrator can explain the observed identity chain.
Confirm the provider boundary
The current page limits the share-record function to Postmaster and Engineer roles and lists a 100-domain account ceiling. Its optional one-click DNS flow is a separate authorization choice, not a requirement for manual setup. Read the actual warning deadline rather than inventing a universal grace period. A verified existing key is required before adding the documented additional keys.
Work through a fictional diagnostic case
Fictional written case only: ZP-01 assumes From alerts@shop.example has passing d=shop.example on one Agent, but a second application uses an Agent whose domain association is unconfirmed. No second-application envelope or signature result is available. The application owner must verify that association and send only an approved transactional test. The first Agent’s result does not prove the second route or marketing eligibility. No tenant, DNS, server command or message was exercised for this case.
Separate a passing message from enforcement readiness
RFC 9989 Section 7.4 requires valid DKIM for a domain publishing p=reject and cautions about indirect-mail interoperability. A single aligned SPF result does not by itself justify a reject-policy rollout. Review all legitimate routes and policy ownership separately from this provider setup.