> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://agentinbox.space/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://agentinbox.space/_mcp/server.

# Свои домены

> Пошаговая настройка своего домена в Agent Inbox для бренда и доверия.

## Зачем свой домен?

Если AI-агенты рассылают почту в больших объёмах, важны доставляемость и доверие. Домен по умолчанию `@agentinbox.space` удобен для старта, но для продакшена нужны свои домены: вы контролируете репутацию отправителя и можете применять стратегии для массового аутрича.

#### Лучшая доставляемость

У каждого домена своя репутация отправителя. Со своим доменом вы ею управляете —
это главный фактор попадания во «Входящие».

#### Несколько доменов для масштаба

При больших объёмах регистрируйте несколько доменов (например `mercor.com`,
`usemercor.com`, `mercorapp.com`). Распределение нагрузки по доменам —
ключевая стратегия для доставляемости.

## Настройка своего домена

Три шага: добавить домен через API или консоль, скопировать DNS-записи к провайдеру, дождаться верификации.

#### 1. Создать домен и получить DNS-записи

Выберите способ создания домена и получения записей. Agent Inbox зарегистрирует домен и сразу вернёт полный набор DNS-записей для проверки.

#### Консоль

Откройте [консоль Agent Inbox](https://agentinbox-ru.vercel.app/):

1. **Раздел Domains**: пункт «Domains» в левом меню
2. **Новый домен**: кнопка «Add Domain» или «Create Domain»
3. **Имя домена**: введите домен (например `your-domain.com`)
4. **Создание**: нажмите «Create», чтобы зарегистрировать домен

#### SDK

**`cURL`**

```bash title="cURL"
curl -X POST https://api.agentinbox.space/domains/your-domain.com \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json"
```

**`Python`**

```python title="Python"
from agentinbox import Agentinbox

client = Agentinbox(api_key="YOUR_API_KEY")

# Create domain with default settings
domain = client.domains.create("your-domain.com")

# Or with custom feedback forwarding
domain = client.domains.create(
  "your-domain.com",
  feedback_enabled=False
)

print("Domain created:", domain)
print("DNS Records:", domain.records)
```

**`TypeScript`**

```typescript title="TypeScript"
import { AgentinboxClient } from "agentinbox";

const client = new AgentinboxClient({
  apiKey: "YOUR_API_KEY",
});

// Create domain with default settings
const domain = await client.domains.create("your-domain.com");

// Or with custom feedback forwarding
const domain = await client.domains.create("your-domain.com", {
  feedback_enabled: false
});

console.log("Domain created:", domain);
console.log("DNS Records:", domain.records);
```

**`CLI`**

```bash title="CLI"
# create domain with default settings
agentinbox domains create --domain your-domain.com
```

> **Идемпотентные запросы**
>
> Запросы можно сделать идемпотентными, передав атрибут `client_id`:
> повторное создание уже зарегистрированного домена не вернёт ошибку.

> **Пересылка feedback**
>
> По умолчанию уведомления о bounce и жалобах идут на ваш домен.
> Отключите это, установив в запросе `feedback_enabled` в `false`.
> Если не указано, по умолчанию `true`.

В ответе API есть массив `records`: у каждой записи поля `name`, `type`, `value` и `priority` для внесения у DNS-провайдера.

Начальный `status` домена — `pending`; он меняется по мере настройки DNS и нашей проверки.

#### 2. Добавить записи у DNS-провайдера

Порядок немного отличается у провайдеров. Ниже предполагается зона apex `domain.com`. Для поддомена записи всё равно задаются в зоне корневого домена.

### Вариант A: файл зоны BIND (проще всего)

Файл зоны BIND — текстовый файл с DNS-записями в стандартном формате. Можно массово импортировать наши записи, не вводя каждую вручную.

**Как использовать файл BIND:**

**Шаг 1: скачайте файл зоны**

После создания домена в консоли Agent Inbox нажмите «Download BIND Zone File».

![Download BIND Zone File from Console](/_fern-files/_img/faac7775a4d3462c040390f8427b67a3d0ab59a811489e773739e6c973418123.webp)

#### Cloudflare

**Шаг 2: импорт в Cloudflare**

1. В панели Cloudflare выберите домен
2. Перейдите в **DNS > Records**

![Cloudflare BIND Import](/_fern-files/_img/96c7605681eb665155d04a7df0a8cd58830fe147270cabdec3b05797cb993899.webp)

3. Нажмите **"Import and Export"**

![Cloudflare BIND Import](/_fern-files/_img/05cc3ce3579576efb2e81419b9a3f66d79c1cd5b0ec684d070b55762ffade22a.webp)

4. Загрузите скачанный BIND zone file как есть

#### AWS Route 53

**Шаг 2: импорт в Route 53**

1. Откройте hosted zone домена в Route 53
2. Нажмите **"Import zone file"** справа вверху

![AWS Route 53 BIND Import](/_fern-files/_img/036c4079abf5da1f8f4bb3aaa5b444b59f0be8077b4f2c3e718746aff5c06751.webp)

3. Вставьте **СОДЕРЖИМОЕ** скачанного BIND zone file

![AWS Route 53 BIND Import](/_fern-files/_img/0ddc3eaa3744f03f776a832f09d236312b33a0c8f40d1804a84e70c75a3b5896.webp)

4. Проверьте записи и нажмите **"Import"**

> **КРИТИЧНО: лимит 255 символов для TXT в Route 53**
>
> **В AWS Route 53 на одну строку TXT — максимум 255 символов.** Запись DKIM длиннее (мы используем более сильный ключ для лучшей доставляемости в Gmail).
>
> **В UI Route 53 для TXT нужно:**
>
> 1. Разбить значение на две строки в кавычках.
>    н.п.: "abcd" → "ab""cd"
> 2. **Без пробела** между кавычками — иначе проверка сломается.
>
> **Верно:** `"first-part-of-value""second-part-of-value"`
>
> **Неверно:** `"first-part-of-value" "second-part-of-value"` (пробел между строками)
>
> Пробел или Enter создадут **две отдельные TXT-записи** вместо одной склеенной. Аутентификация почты не сработает, **Gmail может отклонять письма**.

#### Porkbun

**Шаг 2: импорт в Porkbun**

1. Профиль Porkbun → управление доменом
2. Вкладка **DNS** у нужного домена

![Porkbun DNS Management](/_fern-files/_img/e4ed50d2d850209bc7eaba74f70e49de1e236816cf9a8b0ee1a244c76dee2714.webp)

3. Прокрутите до быстрой загрузки

![Porkbun Zone File Import](/_fern-files/_img/139296cc33927d5d3c4e6e493ed61545914dec905b620a0d6a5408f3010f8e95.webp)

4. Загрузите скачанный BIND zone file как есть

> **Важно: проверьте перед импортом**
>
> Импорт BIND в Porkbun **заменяет** существующие записи.
> Это нормально для нового домена «под почту», но если на домене уже есть важные записи,
> добавьте [записи вручную](#option-b-add-individual-records).

> **Формат BIND zone file**
>
> Убедитесь, что все записи (TXT, MX) импортировались корректно —
> в консоли почти сразу видно, находим ли мы записи (обычно в течение секунд).

### Вариант B: записи по одной

Ниже — для Route 53, Cloudflare и Namecheap. Шаги зависят от того, создавали ли домен в консоли Agent Inbox или через API.

#### Через консоль

Если домен создан в [консоли Agent Inbox](https://agentinbox-ru.vercel.app/), DNS показываются в упрощённом виде для копирования в провайдера.

#### Cloudflare

В панели (**DNS > Records**) нажмите **"Add record"**.

* **TXT (DMARC/SPF/DKIM):**
  * **Name:** скопируйте **Name** из консоли
  * **Content:** скопируйте **Value** из консоли

* **MX:**
  * **Name:** укажите `@` для корня домена
  * **Mail server:** **Value** из консоли
  * **Priority:** как в консоли

#### AWS Route 53

В hosted zone нажмите **"Create record"**.

* **TXT (DMARC/SPF):**
  * **Record name:** **Name** из консоли (например `_dmarc`, `mail`, `agentinbox._domainkey`)
  * **Value:** **Value** из консоли в кавычках

> **КРИТИЧНО: лимит 255 символов для TXT в Route 53**
>
> **В AWS Route 53 на одну строку TXT — максимум 255 символов.** Запись DKIM длиннее (мы используем более сильный ключ для лучшей доставляемости в Gmail).
>
> **В UI Route 53 для TXT нужно:**
>
> 1. Разбить значение на две строки в кавычках.
>    н.п.: "abcd" → "ab""cd"
> 2. **Без пробела** между кавычками.
>
> **Верно:** `"first-part-of-value""second-part-of-value"`
>
> **Неверно:** `"first-part-of-value" "second-part-of-value"`
>
> Иначе получатся **две TXT-записи**, аутентификация сломается, **Gmail может отклонять письма**.

* **MX:**
  * **Record name:** точно как у нас — `@` или поддомен
  * **Value:** **Value** из консоли (например `inbound-smtp.us-east-1.amazonaws.com`)
  * **Priority:** как в консоли (часто `10`)

> **Плюс консоли**
>
> Консоль отдаёт относительные имена хостов (без полного домена) — можно вставлять в DNS без ручного разбора FQDN.

#### Через API

В ответе API имена записей — полные FQDN; часть до корневого домена нужно выделить вручную.

#### Cloudflare

(**DNS > Records**) → **"Add record"**.

* **TXT (DMARC/SPF/DKIM):**
  * **Name:** часть `name` до корневого домена (например `_dmarc`)
  * **Content:** `value` из ответа API

* **MX:**
  * **Name:** часть имени до корня
  * **Mail server:** `value` из API
  * **Priority:** `priority` из API

#### AWS Route 53

**"Create record"**.

* **TXT (DMARC/SPF/DKIM):**
  * **Record name:** часть `name` до корня (например `_dmarc` для `_dmarc.domain.com`, `mail` для `mail.domain.com`, `agentinbox._domainkey` для `agentinbox._domainkey.agents.com`)
  * **Value:** `value` из API в кавычках

> **КРИТИЧНО: лимит 255 символов для TXT в Route 53**
>
> **В AWS Route 53 на одну строку TXT — максимум 255 символов.** Запись DKIM длиннее (более сильный ключ для Gmail).
>
> **В UI Route 53 для TXT:**
>
> 1. Две строки в кавычках без пробела между ними: "ab""cd"
> 2. **Без пробела** между кавычками.
>
> **Верно:** `"first-part-of-value""second-part-of-value"`
>
> **Неверно:** `"first-part-of-value" "second-part-of-value"`
>
> Иначе — **две TXT**, аутентификация не сработает, **Gmail может отклонять письма**.

* **MX:**
  * **Record name:** оставьте пустым для корня домена
  * **Value:** склейте `priority` и `value` из API через пробел, например `10 inbound-smtp.us-east-1.amazonaws.com`

#### 3. Проверка домена

После добавления записей Agent Inbox начинает проверку. Распространение DNS по интернету может занять от нескольких минут до 48 часов.

Статус верификации — в [консоли Agent Inbox](https://agentinbox-ru.vercel.app/):

1. **Domains** в левом меню
2. **Статус домена** в списке
3. Статус обновляется по мере проверки
4. Клик по домену — детали по каждой записи

Значения статуса:

* `Not Started`: нажмите Verify Domain, чтобы запустить проверку
* `Pending`: нужно добавить или исправить DNS-записи
* `Invalid`: часть записей настроена неверно — проверьте ввод
* `Failed`: записи верны, но нужен повтор проверки — снова нажмите verify в консоли
* `Verifying`: записи найдены, идёт авторизация домена
* `Verified`: домен готов к отправке

Ссылки на документацию распространённых DNS-провайдеров (список неполный):

| Провайдер DNS / хостинга | Ссылка на документацию                                                                                                                                                                                                                                                                                                                                                             |
| :----------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **GoDaddy**              | [MX: Add an MX record](https://www.godaddy.com/help/add-an-mx-record-19234)  [TXT: Add a TXT record](https://www.godaddy.com/help/add-a-txt-record-19232)                                                                                                                                                                                                                          |
| **DreamHost**            | [How do I add custom DNS records?](https://help.dreamhost.com/hc/en-us/articles/215414867-How-do-I-add-custom-DNS-records)                                                                                                                                                                                                                                                         |
| **Cloudflare**           | [MX: How do I add or edit mail or MX records?](https://support.cloudflare.com/hc/en-us/articles/200168806-Managing-DNS-records-in-Cloudflare)  [TXT: Managing DNS records in Cloudflare](https://support.cloudflare.com/hc/en-us/articles/200168806-Managing-DNS-records-in-Cloudflare)                                                                                            |
| **HostGator**            | [Manage DNS Records with HostGator/eNom](https://www.hostgator.com/help/article/manage-dns-records-with-hostgator-enom)                                                                                                                                                                                                                                                            |
| **Namecheap**            | [MX: How can I set up MX records required for mail service?](https://www.namecheap.com/support/knowledgebase/article.aspx/434/2237/how-can-i-set-up-mx-records-required-for-mail-service)  [TXT: How do I add TXT/SPF/DKIM/DMARC records for my domain?](https://www.namecheap.com/support/knowledgebase/article.aspx/317/2237/how-do-i-add-txtspfdkimdmarc-records-for-my-domain) |
| **Names.co.uk**          | [Changing your domain's DNS settings](https://www.names.co.uk/support/articles/changing-your-domains-dns-settings/)                                                                                                                                                                                                                                                                |
| **Wix**                  | [MX: Adding or Updating MX Records in Your Wix Account](https://support.wix.com/en/article/adding-or-updating-mx-records-in-your-wix-account)  [TXT: Adding or Updating TXT Records in Your Wix Account](https://support.wix.com/en/article/adding-or-updating-txt-records-in-your-wix-account)                                                                                    |

> **Готово!**
>
> Когда статус домена `ready`, можно создавать `Inboxes` на своём домене и подключать агентов.

## Типичные проблемы с DNS

DNS бывает капризным. Ниже частые случаи и что делать.

#### Изменения DNS не видны сразу

Распространение может занять до 48 часов, чаще быстрее.
Если прошло долго, нажмите в консоли verify domain — запустится повторная проверка (иногда DNS «застревает»).

#### Ошибка «Too many SPF records»

У домена должна быть **одна** SPF-запись. Если другие сервисы (CRM и т.д.) тоже шлют почту, объедините их SPF с записью Agent Inbox в одну строку.

SPF — одна строка: начинается с `v=spf1`, заканчивается `~all` или `-all`, посередине — разрешённые отправители.

**Как объединить:**

1. **Найдите текущую SPF**, например: `v=spf1 include:_spf.other-domain.com ~all`
2. **Include Agent Inbox:** `include:spf.agentinbox.space`
3. **Вставьте** include Agent Inbox перед `~all` или `-all`.

**`Пример: объединение SPF`**

```text title="Пример: объединение SPF"
# Before
v=spf1 include:_spf.other-domain.com ~all

# After
v=spf1 include:_spf.other-domain.com include:spf.agentinbox.space ~all
```

Добавляйте `include:` для каждого сервиса. В начале один `v=spf1`, в конце один `~all` или `-all`.

## Рекомендации по доменам

См. [доставляемость почты](/email-deliverability) — прогрев домена и здоровая репутация отправителя.