Настройки проекта · Live CSRF

DNS и доставляемость

Здесь собраны точные записи, которые нужно внести в DNS/панели Postmaster для текущего проекта. Значения генерируются из выбранного отправителя no-reply@example.com.

● fail

Проект

Daily cap ограничивает отправки проекта в сутки. Quiet hours переносят письма на конец тихого окна в локальном времени проекта.

Бэклог / ещё не сделано

Это видимый список незавершённых задач, чтобы при подключении проекта не путать готовый MVP с будущими улучшениями. Эти пункты не блокируют первый внутренний запуск, но требуют отдельного планирования.

ПриоритетРазделЗадачаСтатусЧто осталось
ВысокийAIИИ-ассистент написания тем и писемчастичноЕсть локальный черновик в шаблонах; нужно полноценное подключение внешнего LLM, варианты subject/preheader, переписывание письма, A/B идеи и кнопка применения без ручного копирования.
СреднийAIПолноценное подключение внешнего LLMне сделаноНужен безопасный gateway: ассистент предлагает изменения, backend применяет только после подтверждения, все действия пишутся в audit_log.
ВысокийDeliverabilitySeed-mailbox проверка доставки глазами получателяне подключено к реальному ящикуИнфраструктурная страница есть; для первого домена нужно указать IMAP seed mailbox и проверить Authentication-Results/SPF/DKIM/DMARC на реальном входящем письме.
ВысокийSecurityВключить обязательную авторизацию админкиготово к rollout, не включеноПользователи/ACL и readiness есть; enforcement нужно включать отдельным решением после проверки активного admin-аккаунта, чтобы не заблокировать доступ.
СреднийProduction opsАвтоматический watchdog/алерты backup, worker, queue, diskчастичноСтраницы health/database есть; для production нужно включить systemd timers/alerts и регулярно проверять restore-check.
СреднийAnalyticsРасширенная аналитика ассистента по OR/CTR/CTORне сделаноСейчас статистика есть; нужно, чтобы ассистент объяснял метрики и предлагал конкретные изменения блоков/тем.
СреднийEditorHTML → редактируемые блоки после импортане сделаноИмпорт HTML и блочный редактор есть, но произвольный импортированный HTML пока не превращается автоматически в редактируемые блоки.
СреднийIntegrationsДокументированные боевые webhooks первого проектанужно заполнить под проектAPI docs есть; перед запуском нужно зафиксировать реальные endpoint payloads сайта/CRM: contact upsert, unpaid-order, purchase, unsubscribe/bounce paths.

Проверка DNS-записей

Кнопка делает live DNS lookup A/MX/TXT и сравнивает фактические значения с ожидаемыми для проекта.

Проверить записиJSON API

IP precheck

Проверка IP до подключения: PTR и основные DNSBL/RBL-списки. Можно заранее проверить IP, который провайдер предлагает для отправки.

Agent/API endpoint для автоматизации: /api/ip-precheck?ip=1.2.3.4 с X-API-Key.

Чек-лист подключения проекта

✓ готово
Выбран from_email проекта
project
● нужно сделать
A для SMTP hostname
project
● нужно сделать
A для админки/API поддомена
project
● нужно сделать
A для tracking/open/click домена
project
● нужно сделать
MX для технического приёма bounce/FBL/unsubscribe
project
● нужно сделать
SPF TXT отправочного домена опубликован
project
● нужно сделать
SPF TXT для Return-Path/bounce-домена mg опубликован
project
● нужно сделать
DKIM TXT опубликован
project
● нужно сделать
DMARC TXT опубликован
project
● нужно сделать
PTR/rDNS у провайдера IP направлен на mail-host
provider
Настраивается у VPS/IP-провайдера, не в Reg.ru зоне домена.
● нужно сделать
Домен добавлен и подтверждён в Google Postmaster
project-manual
● нужно сделать
Mail.ru Postmaster + FBL/abuse адреса настроены
project-manual
● нужно сделать
Домен добавлен и подтверждён в Яндекс.Постмастер
project-manual
● нужно сделать
Задан план прогрева домена/IP
project-manual

A-записи

Name
mail.example.com
Type
A
● fail
Value
45.144.176.33
Actual DNS
Куда/зачем
SMTP hostname / HELO / MX target
Name
send.example.com
Type
A
● fail
Value
45.144.176.33
Actual DNS
Куда/зачем
админка/API
Name
go.example.com
Type
A
● fail
Value
45.144.176.33
Actual DNS
Куда/зачем
open/click tracking

MX-записи

Name
mg.example.com
Type
MX
● fail
Value
10 mail.example.com.
Actual DNS
Куда/зачем
технический приём bounce/FBL/unsubscribe; apex MX можно оставить у Mail.ru/Яндекс

TXT-записи: SPF / DKIM / DMARC

Name
example.com
Type
TXT
● fail
Value
v=spf1 ip4:45.144.176.33 -all
Actual DNS
_k2n1y4vw3qtb4skdx9e7dxt97qrmmq9 v=spf1 -all
SPF найден, но в нём нет ip4:45.144.176.33. Если есть Mail.ru/UniSender, добавьте ip4:45.144.176.33 в эту же SPF-запись.
Куда/зачем
SPF: разрешить отправку с этого IP; если есть Mail.ru/UniSender — объединить в одну SPF-запись
Name
mg.example.com
Type
TXT
● fail
Value
v=spf1 ip4:45.144.176.33 -all
Actual DNS
SPF-запись не найдена. Нужна одна TXT-запись SPF с ip4:45.144.176.33.
Куда/зачем
SPF для Return-Path/bounce-домена mg; нужен для SPF-проверки envelope sender
Name
guru._domainkey.example.com
Type
TXT
● fail
Value
v=DKIM1;h=sha256;k=rsa;p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsIcLzQTdXR4UzzAfNq9Ain4Bh7dGcY2oNqLWo9vR1tKJ/NsFaYB+PyDZKNiGPDimDpHqnpctww3CrOUCoep4/erCbM7oSqEc9qw+oBFXUjIlAKTr9lsd5t1VioEaEyU02qLue4A3pCpK2ZJvFNt5ewWLwY9P7Xw/l9ulb+xVsWQhNvvVtYRrHM9UxcXr0F6ePuRDAqpno9QGxTVcqKY+QPoiGmKDcaN7lW3QCtii/4i4PAq1hqwCm/zM8XdvWjH00TRdlUeNHcEO151QeJoRUzgW7OKny61Q9xCcMKgvj+s++WipALmEqgiWFU2Cq55jCIjUsIsDM1M5kyk4H10PUwIDAQAB
Actual DNS
v=DKIM1; p=
Куда/зачем
DKIM selector guru
Name
_dmarc.example.com
Type
TXT
● fail
Value
v=DMARC1; p=none; rua=mailto:dmarc@example.com; ruf=mailto:dmarc@example.com; fo=1; adkim=s; aspf=s
Actual DNS
v=DMARC1;p=reject;sp=reject;adkim=s;aspf=s
Куда/зачем
DMARC стартово p=none
SPF: одна TXT-запись на домен. Если уже есть другие отправщики, SPF нужно объединять, а не создавать вторую SPF-запись.

PTR / rDNS у провайдера IP

Name
45.144.176.33
Type
PTR
● fail
Value
mail.example.com
Actual DNS
mail.uchitelu.ru.
Куда/зачем
PTR/rDNS у провайдера IP должен указывать на SMTP hostname; forward A этого имени должен возвращать IP
Это меняется не в DNS-зоне, а в панели VPS/IP-провайдера. Forward A-запись должна указывать обратно на 45.144.176.33. Gmail отклоняет письма с IP без PTR.

Адреса для Postmaster / FBL / abuse

bounce@mg.example.com bounce+{send_id}@mg.example.com fbl@mg.example.com abuse@mg.example.com unsubscribe@mg.example.com dmarc@example.com
Postfix aliases уже настроены: bounce/fbl/abuse/unsubscribe попадают в inbound spool и обрабатываются worker-ом. FBL/Postmaster подключаются по каждому проекту/домену.

Postfix значения для этого проекта

myhostname = mail.example.com myorigin = /etc/mailname /etc/mailname = mail.example.com smtpd_milters = inet:127.0.0.1:8891 non_smtpd_milters = inet:127.0.0.1:8891

Postmaster кабинеты

Google Postmaster
https://postmaster.google.com/
Добавить домен example.com, подтвердить TXT-запись, смотреть reputation/ошибки. Для FBL указывать: fbl@example.com и abuse@example.com.
Mail.ru Postmaster
https://postmaster.mail.ru/
Добавить домен example.com, подтвердить TXT-запись, смотреть reputation/ошибки. Для FBL указывать: fbl@example.com и abuse@example.com.
Яндекс.Постмастер
https://postmaster.yandex.ru/
Добавить домен example.com, подтвердить TXT-запись, смотреть reputation/ошибки. Для FBL указывать: fbl@example.com и abuse@example.com.