# Gandi

> Publish the SPF, DKIM, and DMARC records MailBlastr generates for your domain using Gandi’s DNS Records tab — including the required trailing dot on MX values.

This guide walks through adding the DNS records MailBlastr generates for a domain using **Gandi**. Add your domain in MailBlastr first to generate the records — see [Managing domains](https://www.mailblastr.com/docs/domains/managing) — and keep the [DNS records](https://www.mailblastr.com/docs/domains/dns) reference open for your exact DKIM record and region.

It is best practice to use a [subdomain](https://www.mailblastr.com/docs/kb/subdomain-vs-root) (e.g. `updates.example.com`) instead of the root domain for reputation segmentation.

> **Warning:** Gandi requires the **MX value to end with a trailing dot** (`feedback-smtp.us-east-1.amazonses.com.`). Removing the dot will cause verification to fail.

## Log in to Gandi

1. **Open your domain** — Log in at admin.gandi.net, choose your domain from the **Domain** list.
2. **Open DNS Records** — Select the **DNS Records** tab to reach the page where you manage DNS records.
3. **Add each record** — Use **Add record** for every entry below — the DKIM TXT record, the SPF MX and TXT, and the DMARC TXT.

## DKIM — TXT

Add **one** TXT record holding your domain’s DKIM public key. Enter only the host prefix in **Name**; Gandi appends your domain. Copy the value from your domain configuration page in MailBlastr.

**DKIM — TXT**

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `Type` | TXT | No | A single DKIM key record. |
| `Name` | mailblastr._domainkey | No | Gandi appends `.example.com`, giving `mailblastr._domainkey.example.com`. `mailblastr` is the fixed selector MailBlastr uses. |
| `Text value` | v=DKIM1; k=rsa; p=<public key> | No | The DKIM key record holding your domain’s public key. |
| `TTL` | 10800 | No | Gandi default. |

## SPF — MX on the send subdomain

MailBlastr uses the custom MAIL FROM subdomain `send.example.com`. Choose **MX**, set **Name** to `send`, and paste the MailBlastr MX value **with its trailing dot** into the **Hostname** field.

**SPF — MX**

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `Type` | MX | No | Receives bounce and complaint feedback for the MAIL FROM subdomain. |
| `Name` | send | No | Resolves to `send.example.com`. |
| `Hostname` | feedback-smtp.us-east-1.amazonses.com. | No | Region-specific feedback host — keep the trailing dot. Replace `us-east-1` with your domain’s region. |
| `Priority` | 10 | No | Gandi default priority. Use `20`/`30` if `10` is already taken. |
| `TTL` | 10800 | No | Gandi default. |

## SPF — TXT on the send subdomain

Add another record of type **TXT** with **Name** `send`. Paste the SPF value into the **Text value** field — enter only `send`, not `send.example.com`.

**SPF — TXT**

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `Type` | TXT | No | SPF policy for the MAIL FROM subdomain. |
| `Name` | send | No | Same host as the MX — resolves to `send.example.com`. |
| `Text value` | v=spf1 include:amazonses.com ~all | No | Authorizes Amazon SES for the MAIL FROM subdomain. |
| `TTL` | 10800 | No | Gandi default. |

## DMARC — TXT on _dmarc

**DMARC — TXT**

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `Type` | TXT | No | DMARC policy record. |
| `Name` | _dmarc | No | Resolves to `_dmarc.example.com`. |
| `Text value` | v=DMARC1; p=none; | No | A monitoring policy to start with. See [Implementing DMARC](https://www.mailblastr.com/docs/kb/dmarc). |
| `TTL` | 10800 | No | Gandi default. |

> **Note:** Gandi gotchas: keep the **trailing dot** on the MX value; enter only the bare host prefix in **Name** (omit your domain); and never reuse an existing MX priority on the same host.

Once all six records are saved, return to MailBlastr and [re-verify the domain](https://www.mailblastr.com/docs/api/domains-verify). If it stays pending, see [What if my domain isn’t verifying?](https://www.mailblastr.com/docs/kb/domain-not-verifying).
