DKIMkit

Your customers’ sending domains, verified automatically

DKIMkit handles sending-domain authentication with SendGrid, Postmark, Mailgun or Amazon SES for every customer of your app: DNS records written or shown, verification tracked, and a webhook when each domain is ready to send.

How it works

  1. Register the domainOne API call from your backend, or let customers enter it in the widget.
  2. DNS gets set upWe write the records through Cloudflare or Route 53, or show your customer exactly what to add.
  3. Verified, and you’re toldWe track propagation and your provider’s verification, then send you a signed webhook.

Writes the DNS records

Connect a customer’s Cloudflare or Route 53 and the records are added for them. On any other host, they get the exact records to paste.

Watches until verified

Checks the authoritative nameservers, then your email provider, with backoff. Re-checks verified domains daily and tells you if one breaks.

Embeddable widget

Drop a setup flow into your app with two lines of code. Customers’ DNS credentials never touch your servers or your frontend.

Signed webhooks

Get domain.verified, domain.conflict and more as they happen, signed and retried, so your app updates itself.

Inbound email too

Optionally route replies to your app: the MX record and inbound forwarding are configured in the same flow (SendGrid, Postmark and Mailgun).

Bulk setup, no code

Paste up to 100 domains from any registrar into the dashboard. Each gets sender authentication, and inbound email if you want it, with records grouped by DNS host and a zone file to import.

One call to start

Register a customer’s domain and get the DNS records back immediately. Everything after that happens in the background. Tag domains with your own tenant ids and see usage per customer for your own billing.

API reference →
curl -X POST https://dkimkit.com/v1/domains \
  -H "Authorization: Bearer $API_KEY" \
  -d '{"domain": "customer.com",
       "tenant_id": "cus_42",
       "dns": {"provider": "cloudflare",
               "cloudflare_api_token": "…"}}'

Credentials handled with care

Email provider keys and DNS tokens are encrypted at rest (AES-256-GCM), API keys are stored only as hashes, and the widget runs on our domain so your customers’ DNS credentials never pass through your app. How we handle data