Skip to main content

Домены

Чтобы отправлять письма с адреса 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-записи ещё не выставлены или не распространились
VERIFIEDSPF + DKIM + DMARC прошли проверку
FAILEDПоследняя проверка не прошла — нужно исправить DNS и повторить

Поддомены

Если отправляете с поддомена — добавляйте именно его, не корневой домен:

Адрес fromЧто добавить
hello@example.ruexample.ru
no-reply@mail.example.rumail.example.ru
alerts@team.corp.ruteam.corp.ru

Что дальше

Настройка DNS → — пошаговый гайд по SPF/DKIM/DMARC для популярных провайдеров.


API доменов

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

Домены организации

Базовый префикс: /v1/organizations/{organization_id}/domains.

МетодПутьМинимальная рольЧто делает
GET/domainsVIEWERСписок всех доменов организации
POST/domainsADMINСоздать домен; в ответе — DNS-записи для выставления
GET/domains/{id}VIEWERДетали домена + актуальные DNS-записи
POST/domains/{id}/verifyADMINЗапустить верификацию (проверка 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/domainsVIEWERСписок доменов, привязанных к проекту
POST/domainsADMINПривязать верифицированный домен к проекту
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 настраивается один раз.