# Add Meisa's DNS records at Cloudflare, GoDaddy, Namecheap or Route 53

Source: https://help.meisa.io/articles/add-dns-records-at-your-dns-host

Add the 5 records from Meisa at the company that hosts your domain's DNS. The two mistakes that block most verifications: on Cloudflare, the DKIM CNAMEs must be set to **DNS only** (grey cloud), and at GoDaddy and Namecheap you must remove your domain from the end of the record name, because they add it for you.

## Before you start

1. In Meisa, open **Email setup** and find your domain's records (the **Verify your domain** step, or **View records** next to the domain).
2. Keep that tab open. You will copy each **Name** and **Value** with the copy icons.
3. Not sure where your DNS is hosted? It is usually where you bought the domain, unless you moved your nameservers to Cloudflare or Route 53. A free "NS lookup" tool shows your nameservers.

Meisa shows names in full, for example `abc123._domainkey.northwind.app`. The examples below use `northwind.app`. Replace it with your domain and use your real tokens from Meisa.

## How to write the name at each host

| Meisa shows | Cloudflare and Route 53 | GoDaddy and Namecheap |
|---|---|---|
| `abc123._domainkey.northwind.app` | paste as is, or `abc123._domainkey` | `abc123._domainkey` |
| `@` (SPF) | `@` (Cloudflare) or leave empty (Route 53) | `@` |
| `_dmarc` | `_dmarc` | `_dmarc` |

## Cloudflare

1. Log in to Cloudflare and click your domain.
2. In the left menu, click **DNS**, then **Records**.
3. Click **Add record**.
4. For each DKIM record: **Type** `CNAME`, **Name** the DKIM name from Meisa, **Target** the value from Meisa (ends in `.dkim.amazonses.com`).
5. Click the orange cloud so **Proxy status** shows **DNS only** (grey cloud). This is required: a proxied CNAME hides the record from AWS and the domain never verifies.
6. Click **Save**. Repeat for the other two DKIM records.
7. For SPF: **Type** `TXT`, **Name** `@`, **Content** `v=spf1 include:amazonses.com ~all`. If a TXT record starting with `v=spf1` already exists on `@`, edit that one instead and add `include:amazonses.com` before `~all`.
8. For DMARC: **Type** `TXT`, **Name** `_dmarc`, **Content** `v=DMARC1; p=none;`. Skip this if `_dmarc` already has a DMARC record.

## GoDaddy

1. Log in to GoDaddy and open your domain portfolio.
2. Click your domain, then **DNS** (some accounts show **Manage DNS**).
3. Click **Add New Record**.
4. For each DKIM record: **Type** `CNAME`, **Name** only the part before your domain, for example `abc123._domainkey`, **Value** the value from Meisa. Leave **TTL** at the default. Click **Save**.
5. For SPF: **Type** `TXT`, **Name** `@`, **Value** `v=spf1 include:amazonses.com ~all`. If an SPF record already exists, edit it instead.
6. For DMARC: **Type** `TXT`, **Name** `_dmarc`, **Value** `v=DMARC1; p=none;`.

If you paste the full name, GoDaddy creates `abc123._domainkey.northwind.app.northwind.app` and the record is never found.

## Namecheap

1. Log in to Namecheap and go to **Domain List**.
2. Click **Manage** next to your domain, then open the **Advanced DNS** tab.
3. Under **Host Records**, click **Add New Record**.
4. For each DKIM record: choose **CNAME Record**, **Host** `abc123._domainkey` (without your domain), **Target** the value from Meisa. Click the green check to save.
5. For SPF: choose **TXT Record**, **Host** `@`, **Value** `v=spf1 include:amazonses.com ~all`. Edit the existing SPF record if there is one.
6. For DMARC: choose **TXT Record**, **Host** `_dmarc`, **Value** `v=DMARC1; p=none;`.

If your domain uses Namecheap's email forwarding or another mail service, keep their SPF entries and just add `include:amazonses.com`.

## Amazon Route 53

1. In the AWS console, open **Route 53**, then **Hosted zones**, and click your domain.
2. Click **Create record**.
3. For each DKIM record: in **Record name**, type only the part before your domain (`abc123._domainkey`). The domain is already shown after the box. **Record type** `CNAME`, **Value** the value from Meisa. Click **Create records**.
4. For SPF: leave **Record name** empty, **Record type** `TXT`, **Value** `"v=spf1 include:amazonses.com ~all"` with the double quotes. If a TXT record already exists on the root, edit it and add the SPF line on its own line instead.
5. For DMARC: **Record name** `_dmarc`, **Record type** `TXT`, **Value** `"v=DMARC1; p=none;"`.

## Check the records

Go back to Meisa and click **Check my records**. Most hosts publish changes within minutes, but it can take up to an hour. While the page is open, Meisa checks again every 2 minutes. Each row turns to **Found** when it is live.

## Troubleshooting

- **DKIM stays "Not found yet" on Cloudflare**: the CNAME is proxied. Switch it to **DNS only**.
- **Name doubled**: at GoDaddy or Namecheap, remove your domain from the end of the name.
- **Two SPF records**: a domain may only have one `v=spf1` record. Merge them into one.
- **Records added at the wrong place**: if your nameservers point to Cloudflare, records added at your registrar do nothing. Add them where your nameservers point.
- More help: [My domain is still pending verification](/articles/domain-verification-pending).

## Related articles

- [Verify your sending domain (DKIM, SPF and DMARC)](/articles/verify-your-sending-domain)
- [My domain is still pending verification](/articles/domain-verification-pending)
- [Add a sender (From name and address)](/articles/add-a-sender-address)
