# Add DNS records at your DNS host

Where to add Ha Tang's DKIM, SPF, MX, DMARC and CNAME records at Cloudflare, GoDaddy, Namecheap, Hostinger, Mắt Bão, P.A Việt Nam and other DNS hosts.

Your sending domain is verified once the records shown under **Email → Domains** exist at the company that hosts your domain's DNS. This article explains how to enter them at common DNS hosts. The values always come from the domain page in Ha Tang: open it next to your DNS host and copy each **Name** and **Value** with the copy button.

![The records to copy from the domain page](https://hatang.dev/help/img/en/email/domain-records.webp)

## Find out who hosts your DNS

The company you bought the domain from is not always the one that answers its DNS. What counts is where the domain's **nameservers** point:

- Nameservers ending in `ns.cloudflare.com`: add the records at Cloudflare. Ha Tang recognises this and shows **Open your zone's DNS records** on the domain page.
- Nameservers of your registrar (GoDaddy, Namecheap, Mắt Bão, P.A Việt Nam…): add them in that registrar's DNS panel.
- Nameservers of your web host or another DNS service: add them there.

If your DNS host supports Domain Connect, the domain page shows **Auto configure with** and the host's name. That button adds every record for you after you sign in and approve, and you can skip the rest of this article.

## The one rule that causes most failures

Every record has a name, but DNS hosts differ in what you type:

- **Most hosts want only the part before your domain.** For the zone `mochuong.vn`, the record `send.tin.mochuong.vn` is entered as `send.tin`, and `_dmarc.tin.mochuong.vn` as `_dmarc.tin`. The host adds `.mochuong.vn` for you.
- **A few hosts accept the full name** and strip the domain themselves. Cloudflare does both.

If you type the full name at a host that adds the domain again, you create `send.tin.mochuong.vn.mochuong.vn`, and Ha Tang reports `found: nothing`. When in doubt, enter the short form and check the saved record.

Example for the sending domain `tin.mochuong.vn` in the zone `mochuong.vn`:

| Record | Type | What you type as the name | Value |
|---|---|---|---|
| DKIM | TXT | `rs4k7mq2xd._domainkey.tin` | `v=DKIM1; k=rsa; p=…` |
| MX | MX, priority 10 | `send.tin` | `feedback-smtp.<region>.amazonses.com` |
| SPF | TXT | `send.tin` | `v=spf1 include:amazonses.com ~all` |
| DMARC | TXT | `_dmarc.tin` | `v=DMARC1; p=none;` |
| Tracking (optional) | CNAME | `links.tin` | The host shown on the domain page |

If you send from the root domain itself (`mochuong.vn`), the names are `rs…._domainkey`, `send` and `_dmarc`.

Leave TTL on its default or **Auto**.

## Cloudflare

1. In the Cloudflare dashboard, pick the domain and open **DNS → Records**. The link on Ha Tang's domain page opens this screen directly.
2. Click **Add record** for each row.
3. TXT records: choose **TXT**, enter the **Name**, paste the value into **Content**.
4. The MX record: choose **MX**, enter the **Name**, paste the host into **Mail server** and set **Priority** to `10`.
5. The tracking CNAME: choose **CNAME**, enter the **Name** and **Target**, and switch **Proxy status** to **DNS only** (grey cloud).
6. Click **Save** after each record.

> [!WARNING]
> A proxied (orange cloud) tracking CNAME does not verify, and tracked links stop working. Set it to **DNS only**. TXT and MX records are never proxied.

## GoDaddy

1. Open **My Products**, pick the domain and choose **DNS** (or **Manage DNS**).
2. Click **Add New Record** for each row.
3. Choose the **Type**, enter the short **Name** (GoDaddy adds your domain), paste the **Value**, and for MX set **Priority** to `10`.
4. Click **Save**.

## Namecheap

1. Open **Domain List**, click **Manage** next to the domain, then the **Advanced DNS** tab.
2. Under **Host Records**, click **Add New Record** for the TXT and CNAME rows. Enter the short name in **Host** and the value in **Value**.
3. MX records live under **Mail Settings** on the same tab. If it is set to something else, choose **Custom MX**, then add the MX row with **Host** `send.tin` (or `send`), the mail server as **Value** and priority `10`.
4. Save each row with the check mark.

Changing **Mail Settings** to **Custom MX** affects the MX records of the whole domain. If your main mailbox runs on Namecheap's own email service, re-add its MX records under **Custom MX** too, or ask Namecheap support first.

## Hostinger

1. In hPanel, open **Domains**, pick the domain and go to **DNS / Nameservers**.
2. Under the list of DNS records, choose the **Type**, enter the short **Name**, paste the value, and for MX set the priority to `10`.
3. Click **Add Record**.

## Mắt Bão, P.A Việt Nam and other Vietnamese registrars

Sign in to the registrar's customer area, open the domain and go to its DNS management page. The forms usually ask for:

| Field you see | What to enter |
|---|---|
| Host, Tên bản ghi or Name | The short name from the table above (`send.tin`, `_dmarc.tin`…); `@` stands for the root domain |
| Type or Loại | `TXT`, `MX` or `CNAME` |
| Value, Giá trị or Địa chỉ | The value copied from Ha Tang |
| Priority or Ưu tiên (MX only) | `10` |
| TTL | Leave the default |

If the registrar has no DNS management page, your domain's DNS is hosted elsewhere: check the nameservers, or ask the registrar's support to add the records for you and send them the table from Ha Tang's domain page.

## Check your work

1. Back on the domain page in Ha Tang, click **Verify DNS records** (or **Re-check DNS**).
2. Records that match turn **Verified**. Under a record that does not, Ha Tang shows what it found, for example `found: nothing` or the value that is there now.
3. Fix that record at your DNS host, wait a few minutes and check again.

Common surprises:

- **Long DKIM values.** A DKIM key is longer than 255 characters. Most hosts split it into several quoted strings automatically, which is fine. Paste it as one value.
- **Two SPF records** on the same name break SPF. Keep one `v=spf1` record that contains `include:amazonses.com`.
- **An existing CNAME** on `send.` blocks the MX and TXT records: remove it.
- **An existing DMARC record**: keep yours. Any record starting with `v=DMARC1` counts.
