Repository navigation
07 Mail Presets
Записи почты домена связаны порядком: подтверждение домена → MX и SPF → DKIM → DMARC. Если делать их вразнобой, получается «почта вроде настроена, но письма не подписаны» или «письма ходят, а отчёты о подделках не приходят». Пресет знает порядок и знает, какие записи заменяются, а какие добавляются.
| Шаг | Что пишет | Подтверждение | Чем заблокирован |
|---|---|---|---|
| 1. Подтверждение домена | TXT @ google-site-verification=…
|
именем домена | — |
| 2. Почта | MX 1, MX 5, MX 10 (SMTP.GOOGLE.COM), SPF |
нет | шагом 1 |
| 3. DKIM | TXT google._domainkey
|
именем домена | шагом 1 и наличием ключа |
| 4. DMARC | TXT _dmarc
|
нет | — |
Подтверждение именем домена требуется только там, где значение заменяется (строка подтверждения, ключ подписи). Шаги, которые только добавляют записи, применяются одной кнопкой — копия зоны всё равно снимается.
Fornex отвергает вторую MX с идентичной строкой значения (приоритет не учитывается). Поэтому
записи с приоритетами 5 и 10 отличаются точкой на конце (SMTP.GOOGLE.COM.) и регистром букв
(smtp.google.com.) — для DNS это одна и та же цель, для API — разные строки.
Консоль администратора Google создаёт ключ домена лишь после того, как домен подтверждён и включён Gmail. Шаг 3 без шага 1 не имеет смысла, поэтому он заблокирован, а не «просто не работает».
Ключ часто копируют фрагментами. Пресет приводит значение к валидному виду:
-
p=MIIB…→v=DKIM1; k=rsa; p=MIIB…; - голый base64 → добавляется
p=; - переносы строк схлопываются, пробелы внутри
p=удаляются.
Если ключ обрезан, нормализация его не спасёт — запись будет невалидной, и проверка DKIM это покажет.
MX mx.yandex.net. (приоритет 10), SPF include:_spf.yandex.net, DKIM с селектором
mail._domainkey, DMARC. Параметры: ключ DKIM и строка DMARC.
A для @ и www на указанный адрес, по желанию wildcard *. Параметры: IP сервера (если задан
FORNEX_DEFAULT_IP, поле уже заполнено) и «добавить wildcard».
A mail, MX на mail.<домен>, SPF mx a -all, DKIM сервера (селектор mail), DMARC. Имя
хоста должно совпадать с PTR, иначе чужие серверы будут недоверчивы к письмам.
Три правила, из-за которых повторный запуск пресета не ломает почту:
-
SPF сливается. Существующие
include:,ip4:,a,mxсохраняются; пресет добавляет свои механизмы и завершающийall. Если после слияния значение совпало с уже стоящим — план даёт «пропустить», а не «изменить». -
DMARC не ослабляется.
p=quarantineиp=reject, уже стоящие в зоне, никогда не понижаются доnone; пресет добавляетrua,pctи недостающие теги. -
Одноимённые по смыслу записи заменяются. Вторая SPF — это
permerrorдля всего домена, поэтому запись ищется по смыслу (тип + имя + префикс значения), а не по точному совпадению.
php backend/bin/fornex verify example.comОтчёт спрашивает публичный резолвер и ns1.fornex.com. Если зона изменилась минуту назад, у
публичного резолвера ещё может быть старый ответ — это не ошибка, а кеш; авторитетный сервер
показывает истину.
- Не удаляют «мешающие» записи: конфликт показывается в плане, решение принимает человек.
- Не повышают политику DMARC сами:
p=none→p=quarantine— осознанный шаг после того, как видно, что вся почта идёт через Google. - Не трогают
SOAиNS. - Не создают зону: если её нет, это делает кабинет Fornex (панель покажет текст тикета).
репозиторий · релизы · Fornex Control · MIT · панель для DNS-зон Fornex