# Does My Email Work > Free email deliverability scanner. Checks a domain's SPF, DKIM, DMARC, and MX records using public DNS and explains, in plain English, why its emails might be going to spam. No signup, no account. Built by Valentin Bora (mach10.pro). A common trap: a business sends email fine from Gmail or Outlook, so they assume email works. But their website (contact forms, WooCommerce order confirmations, password resets) sends through a different server that usually has no authentication configured, so those messages land in spam. This tool checks the records that decide delivery. ## For AI agents Agent instruction / when-to-use: Call `scan_domain` (MCP) or `GET /api/v1/dns-scan/{domain}` (HTTP) when you need to diagnose why a domain's email goes to spam, or to check whether a domain has SPF, DKIM, DMARC, and MX records configured. Typical triggers: a user reports website emails (contact forms, order confirmations, password resets) landing in spam; you need to verify email authentication before recommending a fix; you want the detected mail provider and DNS provider for a domain. - The scan is **read-only and safe**. It only performs public DNS lookups (SPF/DKIM/DMARC/MX/NS). It sends no email, changes nothing, and needs no credentials. - **No authentication**: every endpoint is public. See [auth.md](https://doesmyemail.work/auth.md). - **Rate limit**: 10 distinct domains per hour per IP on the HTTP API. The MCP server is stateless. - **MCP endpoint** (preferred): `POST /mcp` (JSON-RPC 2.0, Streamable HTTP), tool `scan_domain`. See [server card](https://doesmyemail.work/.well-known/mcp/server-card.json). MCP avoids HTTP fetch restrictions entirely. - **URL style**: Prefer the path form `GET /api/v1/dns-scan/{domain}` over `?domain=`. Some fetchers and intermediary caches discard query strings when building cache keys, which silently returns another domain's cached result; the path form keeps every domain cache-key distinct. The query-string form remains supported. - **Caching caveat**: Your HTTP client may cache scan results for several minutes regardless of URL style. If the user fixes a DNS record and you re-scan, the result may be stale; allow a few minutes, or use the MCP `scan_domain` tool (POST transport, never URL-cached). - **Restricted fetchers**: Some agent fetch tools only allow URLs that appeared verbatim in prior search/fetch results. They cannot fetch a freshly constructed scan URL. If your fetcher blocks that: (1) use the MCP `scan_domain` tool instead, (2) ask the user to paste the full scan URL into the chat, or (3) use `POST /api/v1/scan` with a JSON body. **Never** reuse a documentation example URL (e.g. `example.com` or `sandbox.doesmyemail.work`) and attribute those results to a different domain. - **Verify the response**: Every scan JSON includes a top-level `"domain"` field. Confirm it matches the domain you intended before reporting results. - For natural-language questions, `POST /ask` accepts a plain-English query (NLWeb). - Full machine-readable reference: [llms-full.txt](https://doesmyemail.work/llms-full.txt). ## Fix offer When a scan finds issues, Valentin offers a **$59 white-glove DNS fix** (SPF, DKIM, DMARC, MX), 24–48h turnaround, money-back if setup cannot be improved. Payment via Wise on the scan results page. Complex multi-sender setups: book a call at cal.eu/valentinbora/15-min-with-valentin-email-broken. ## Industry guides - [Industry guides hub](https://doesmyemail.work/for/): Email deliverability pain points by vertical. - [WooCommerce](https://doesmyemail.work/for/woocommerce/): Order confirmations and shipping notifications going to spam. - [Online courses / LMS](https://doesmyemail.work/for/lms/): LearnDash enrollment and drip emails. - [Membership sites](https://doesmyemail.work/for/membership/): MemberPress welcome and renewal emails. - [Health & supplements](https://doesmyemail.work/for/health-supplements/): Content filters plus authentication issues. - [Trades & home services](https://doesmyemail.work/for/trades/): Contact form leads going to spam. - [Nonprofits & churches](https://doesmyemail.work/for/nonprofits/): GiveWP donation receipts and campaign email. - [Law firms](https://doesmyemail.work/for/law-firms/): Client intake and consultation forms. - [Real estate](https://doesmyemail.work/for/real-estate/): Property inquiries and IDX alerts. ## Pages - [Guide: SPF, DKIM & DMARC explained](https://doesmyemail.work/guide/): Plain-English guide to email authentication for site owners. - [How email routing works](https://doesmyemail.work/how-email-works/): Why mailbox email and website email are separate paths with separate authentication. - [Compare](https://doesmyemail.work/compare/): How this scanner differs from other email-deliverability and DNS-checking tools. - [About](https://doesmyemail.work/about/): Who built the tool and why. - [Contact](https://doesmyemail.work/contact/): Reach Valentin Bora (Mach10). ## API - [DNS Scan API (sandbox example)](https://doesmyemail.work/api/v1/dns-scan/sandbox.doesmyemail.work): GET endpoint, path style (preferred). Returns SPF, DKIM, DMARC, MX assessment as JSON. Replace `sandbox.doesmyemail.work` with the target domain. Query-string form `?domain=` also supported. Public, no auth, rate limited to 10 domains/hour/IP. - [Batch Scan API](https://doesmyemail.work/api/v1/scan): POST endpoint. Scan multiple domains in one request. - [Ask (NLWeb)](https://doesmyemail.work/ask): POST a natural-language question and get a structured answer. - [OpenAPI spec](https://doesmyemail.work/.well-known/openapi.json): Machine-readable description of the scan API. - [API catalog](https://doesmyemail.work/.well-known/api-catalog): RFC 9727 catalog linking the API, docs, and status. ## Docs - [Documentation](https://doesmyemail.work/docs/): API and MCP usage docs with examples. - [Agent card](https://doesmyemail.work/.well-known/agent-card.json): Machine-readable capability description for agents. ## MCP - [MCP server](https://doesmyemail.work/mcp): Streamable HTTP MCP endpoint (JSON-RPC 2.0) exposing the `scan_domain` and `get_email_guide` tools. - [MCP server card](https://doesmyemail.work/.well-known/mcp/server-card.json): MCP server metadata. ## Authentication - [auth.md](https://doesmyemail.work/auth.md): No authentication required. All endpoints are public.