---
title: "Route 53 DNS"
description: "Route 53 wants TXT values wrapped in quotes and MX priority inline in the value box. Publish Mailfully's records to match."
last_reviewed: "2026-09-17"
---

> **For AI agents:** the complete documentation index is at [llms.txt](/docs/llms.txt). Append `.md` to any page URL for its markdown version.

Route 53 has two quirks that catch out anyone copying values straight across from another host: a TXT value has to be quoted, and an MX value carries its priority as a number in front of the target rather than in a field of its own. Get those two wrong and the record looks saved but never resolves the way SES expects.

Open Hosted zones, select the zone for `acme.com`, and use Create record for each value Mailfully returned.

## Add the records

<Steps>
<Step title="Add the three DKIM CNAMEs">

Add a record for each DKIM token:

| Field | Value |
|---|---|
| Record name | `<token>._domainkey.mail` |
| Record type | CNAME |
| Value | `<token>.dkim.amazonses.com` |
| TTL | 300 |

The Record name box is relative to the hosted zone, and the console prints the zone name beside it so you can see the full name it will save. Do this for all three tokens.

</Step>
<Step title="Add the MAIL FROM MX record">

| Field | Value |
|---|---|
| Record name | `send.mail` |
| Record type | MX |
| Value | `10 feedback-smtp.us-east-1.amazonses.com` |
| TTL | 300 |

</Step>
<Step title="Add the MAIL FROM SPF record">

| Field | Value |
|---|---|
| Record name | `send.mail` |
| Record type | TXT |
| Value | `"v=spf1 include:amazonses.com ~all"` |
| TTL | 300 |

</Step>
<Step title="Add the DMARC record">

| Field | Value |
|---|---|
| Record name | `_dmarc.mail` |
| Record type | TXT |
| Value | `"v=DMARC1; p=none;"` |
| TTL | 300 |

</Step>
</Steps>

## Quoting and priority

A Route 53 TXT record's value is a quoted string, and the quotes are part of what gets saved, not a formatting hint. Type `"v=spf1 include:amazonses.com ~all"` with the surrounding quote marks included, then confirm with the dig lookup below that the published value still carries them. If a value box asks for more than one string, put each on its own line inside the same field.

MX has no separate priority field. The number Mailfully returned, `10`, goes in the value box ahead of the target host, separated by a single space: `10 feedback-smtp.us-east-1.amazonses.com`.

## Verify

```bash
dig +short <token>._domainkey.mail.acme.com CNAME
dig +short send.mail.acme.com MX
dig +short send.mail.acme.com TXT
dig +short _dmarc.mail.acme.com TXT
```

Check that the SPF and DMARC answers still carry their quotes. [Verify with dig](/dns/overview#verify-with-dig) has the expected answer for each lookup.
