# 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 authentication records providers look at first before deciding whether to accept your mail. ## 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 hard DNS failures (missing or broken SPF/DKIM/DMARC/MX) and the score is below 80, Valentin offers a **$59 white-glove DNS fix** (SPF, DKIM, DMARC, MX), 24–48h turnaround, money-back if setup cannot be improved. Email Valentin from the scan results page to request the fix. Scans that pass or only have policy warnings (e.g. DMARC `p=none`) do not show the repair offer. WordPress sites with a good DNS score are steered to the free plugin instead. Complex multi-sender setups: book a call at cal.eu/valentinbora/15-min-with-valentin-email-broken. ## WordPress plugin Free plugin for WordPress sites: sends a real test via `wp_mail()`, grades what an outside inbox receives, and surfaces issues in Site Health. Complements the DNS scanner (which checks records only; the plugin tests the live send path). Install from [wordpress.org/plugins/does-my-email-work](https://wordpress.org/plugins/does-my-email-work/). Landing page: [doesmyemail.work/plugin/](https://doesmyemail.work/plugin/). ## 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. - [WordPress plugin](https://doesmyemail.work/plugin/): Free plugin to test live sends from WordPress (contact forms, WooCommerce, etc.). - [Research](https://doesmyemail.work/research/state-of-small-business-email-usa-canada-june-2026/): June 2026 study of 4,673 law, real-estate, accounting, healthcare, and nonprofit firms across the US and Canada. 54.8% had incomplete email authentication; 80.5% were spoofable. - [Blog](https://doesmyemail.work/blog/): Practical guides (WordPress email spam, SMTP mailers). - [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. - [Agent skills index](https://doesmyemail.work/.well-known/agent-skills/index.json): Discoverable skills for IDE agents (scan workflow, interpretation). ## 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.