Домены
Чтобы отправлять письма с адреса hello@example.ru, нужно один раз верифицировать домен example.ru и привязать его к проекту. Без этого mi_live_… ключ вернёт 422 domain_not_verified.
Зачем
Пр инимающие почтовые серверы (Gmail, Mail.ru, Яндекс и др.) проверяют:
- SPF — что MailInfra авторизован отправлять от имени вашего домена;
- DKIM — криптоподпись письма не подделана и совпадает с публичным ключом в DNS;
- DMARC — политика обработки писем, не прошедших SPF/DKIM.
Если этих записей нет — письма попадают в спам или отвергаются.
Модель
Organization
└── Domain ← верифицируется один раз через DNS
└── ProjectDomain ← привязка к проекту
└── Project ← API-ключ работает в этом проекте
Один верифицированный домен можно привязать к нескольким проектам одной организации — DNS настраивается один раз.
Статусы
| Статус | Что означает |
|---|---|
PENDING | Домен создан, DNS-записи ещё не выставлены или не распространились |
VERIFIED | SPF + DKIM + DMARC прошли проверку |
FAILED | Последняя проверка не прошла — нужно исправить DNS и повторить |
Поддомены
Если отправляете с поддомена — добавляйте именно его, не корневой домен:
Адрес from | Что добавить |
|---|---|
hello@example.ru | example.ru |
no-reply@mail.example.ru | mail.example.ru |
alerts@team.corp.ru | team.corp.ru |
Что дальше
Настройка DNS → — пошаговый гайд по SPF/DKIM/DMARC для популярных провайдеров.
API доменов
Управление доменами — часть Management API. Все запросы используют сессионный токен.
Домены организации
Базовый префикс: /v1/organizations/{organization_id}/domains.
| Метод | Путь | Минимальная роль | Что делает |
|---|---|---|---|
GET | /domains | VIEWER | Список всех доменов организации |
POST | /domains | ADMIN | Создать домен; в ответе — DNS-записи для выставления |
GET | /domains/{id} | VIEWER | Детали домена + актуальные DNS-записи |
POST | /domains/{id}/verify | ADMIN | Запустить верификацию (проверка SPF/DKIM/DMARC) |
DELETE | /domains/{id} | ADMIN | Удалить домен (отвяжется от всех проектов) |
Создание домена
POST /v1/organizations/{organization_id}/domains
Authorization: Bearer <session_token>
Content-Type: application/json
{ "name": "mail.example.ru" }
В ответе вместе с самим доменом приходит массив verification_records — три TXT-записи (SPF, DKIM, DMARC), которые нужно выставить у DNS-провайдера. Сами записи генерируются уникально для каждого домена; копируйте их именно из этого ответа.
Запуск верификации
POST /v1/organizations/{organization_id}/domains/{domain_id}/verify
Authorization: Bearer <session_token>
Идемпотентна: можно вызывать сколько угодно раз, пока DNS распространяется. Ответ показывает результат каждой из трёх проверок:
{
"data": {
"id": "3fa85f64-...",
"status": "VERIFIED",
"checks": {
"spf": { "pass": true, "detail": "SPF record found with required include" },
"dkim": { "pass": true, "detail": "DKIM public key matches expected value" },
"dmarc": { "pass": true, "detail": "DMARC record found" }
}
}
}
Привязка к проекту
Базовый префикс: /v1/organizations/{organization_id}/projects/{project_id}/domains.
| Метод | Путь | Минимальная роль | Что делает |
|---|---|---|---|
GET | /domains | VIEWER | Список доменов, привязанных к проекту |
POST | /domains | ADMIN | Привязать верифицированный домен к проекту |
DELETE | /domains/{id} | ADMIN | Отвязать домен от проекта |
Привязать
POST /v1/organizations/{organization_id}/projects/{project_id}/domains
Authorization: Bearer <session_token>
Content-Type: application/json
{ "domain_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6" }
Привязать можно только домен в статусе VERIFIED. После привязки ключи проекта могут отправлять с адресов этого домена. Один домен — в нескольких проектах одновременно: DNS настраивается один раз.