Кампания: Загрузка...
0 / 0 отправлено
API документация
Все доступные REST-ручки. Админские ручки используют session Bearer token, публичная отправка использует API key.
Админка сначала делает POST /api/auth/login и дальше передает session token в Authorization: Bearer .... Внешние интеграции для отправки писем используют токены из вкладки “Ключи API”.
BASE_URL=https://mailing.hindibindi.ru
Authorization: Bearer trafara_xxx Отправка писем
Транзакционные письма и отправка сохраненного шаблона.
POST /api/send
{
"to": "client@example.com",
"subject": "Hello",
"html_body": "<p>Hi</p>",
"text_body": "Hi",
"project_id": 1
}
POST /api/send-template
{
"to": "client@example.com",
"template_id": 3,
"variables": {"name": "Ivan"},
"project_id": 1
} Ключи API и проекты
Проект хранит SMTP-настройки. API key привязан к проекту.
GET /api/projects
POST /api/projects
DELETE /api/projects/:id
GET /api/api-keys
POST /api/api-keys
DELETE /api/api-keys/:id Аудитории / списки получателей
Создание баз, добавление адресов, массовый импорт TXT/CSV.
GET /api/lists
POST /api/lists
DELETE /api/lists/:id
GET /api/lists/:id/recipients
POST /api/lists/:id/recipients
DELETE /api/lists/:id/recipients/:recipient_id
POST /api/lists/:id/recipients/import Шаблоны
CRUD HTML-шаблонов и preview с Handlebars-переменными.
GET /api/templates
POST /api/templates
PUT /api/templates/:id
DELETE /api/templates/:id
POST /api/templates/:id/render Рассылки
Запуск кампании по шаблону и аудитории, просмотр истории и активного прогресса.
GET /api/campaigns
POST /api/campaigns
GET /api/campaigns/active Входящие и адреса
Генерация/создание адресов, получение списка писем, просмотр и удаление письма.
GET /api/inbox/addresses
POST /api/inbox/addresses
DELETE /api/inbox/addresses/:id
GET /api/inbox/emails
GET /api/inbox/emails/:id
DELETE /api/inbox/emails/:id Настройка SMTP-модуля для нормальной доставки
Сначала выставьте DNS и PTR, потом добавляйте проект в админке и только после тестов запускайте прогрев. Рабочий API без SPF, DKIM, DMARC и reverse DNS будет отправлять письма технически, но почтовики будут чаще класть их в spam.
1. Что должно совпадать
- From: адрес из домена отправки, например
noreply@hindibindi.ru. - SMTP host: имя из deploy config:
mailing.hindibindi.ru. - PTR/rDNS: у VPS-провайдера для IP стоит то же имя:
mailing.hindibindi.ru. - DKIM: подпись должна быть для того домена, от имени которого уходят письма.
2. Пример из скринов
web/admin domain: mailing.hindibindi.ru
sender domain: hindibindi.ru
SMTP host: mailing.hindibindi.ru
SMTP port: 587
SMTP user: noreply@hindibindi.ru
server IPv4: SERVER_IPV4
PTR: mailing.hindibindi.ru
TTL: Auto
MX priority: 10 3. Порты
25/tcpнужен для приема/межсерверной SMTP-доставки, если сервер сам отправляет наружу.587/tcpиспользуйте в проекте админки: STARTTLS.465/tcpиспользуйте только если ваш SMTP реально слушает implicit TLS.80/443нужны для админки, API и Let's Encrypt.
DNS-записи для текущего SMTP deploy
| Тип | Хост | Значение | Зачем |
|---|---|---|---|
| A | mailing | SERVER_IPV4 | Админка, API и SMTP hostname. |
| MX | hindibindi.ru | mailing.hindibindi.ru | Входящие ответы на домен. Приоритет 10. |
| TXT SPF | hindibindi.ru | v=spf1 mx ip4:SERVER_IPV4 ~all | Разрешает этому IP отправлять письма от домена. |
| TXT DKIM | default._domainkey | v=DKIM1; h=sha256; k=rsa; p=PUBLIC_KEY | Публичный ключ из OpenDKIM/SMTP-провайдера. Не обрезать значение. |
| TXT DMARC | _dmarc | v=DMARC1; p=quarantine; rua=mailto:admin@hindibindi.ru; adkim=s; aspf=s | Политика домена и отчеты. На прогреве можно начать с p=none. |
PTR/rDNS у провайдера VPS
- Откройте панель сервера, раздел IPv4 / Reverse DNS / PTR.
- Для IP сервера задайте
mailing.hindibindi.ru. - Проверьте, что
mailing.hindibindi.ruA-записью указывает обратно на этот же IP. - Дождитесь применения. Обычно 5-30 минут, иногда дольше.
Проверка DNS
dig +short A mailing.hindibindi.ru
dig +short MX hindibindi.ru
dig +short TXT hindibindi.ru
dig +short TXT default._domainkey.hindibindi.ru
dig +short TXT _dmarc.hindibindi.ru
dig +short -x SERVER_IPV4 Проект в админке
- Sender domain:
hindibindi.ru - Sender name:
HindiBindi Mailing - SMTP host:
mailing.hindibindi.ru - SMTP port:
587 - TLS/SSL: включить для 587, если сервер поддерживает STARTTLS; для 465 нужен implicit TLS.
- SMTP login:
noreply@hindibindi.ru.
Режим отправки
- Сначала отправьте 1 письмо на Gmail, Outlook и свой ящик, проверьте заголовки SPF/DKIM/DMARC.
- Новый домен: 10-20 писем в день первые 2-3 дня, потом рост до 30-50, затем +20-30% в день.
- Не отправляйте одинаковый HTML сотням адресов. Меняйте тему, первый абзац и персонализацию.
- В письме должен быть text-body или нормальный текстовый fallback, понятный From и рабочий reply-to.
- Для холодной базы сначала используйте симуляцию кампании и маленький список, потом реальную отправку.
Диагностика после отправки
pm2 status
pm2 logs rust-custom-smtp --lines 100
curl -I https://mailing.hindibindi.ru
./target/release/rust-custom-smtp dns-check --domain hindibindi.ru --ip SERVER_IPV4 Для внешней оценки отправьте тест на mail-tester.com. Нормальная цель перед рассылкой: SPF pass, DKIM pass, DMARC pass, PTR совпадает с SMTP host, нет blacklist-срабатываний.
График прогрева по дням
Распределение по доменам
Проекты и SMTP профили
Создавайте независимые проекты со своими доменами отправителей
Ключи авторизации API
Генерируйте ключи для транзакционной отправки писем через REST API
/api/send. Один ключ привязан к одному SMTP-проекту, поэтому разные домены лучше держать разными проектами и ключами.| Название ключа | Проект | Токен (Bearer) | Дата создания |
|---|
Шаблоны писем
Создавайте HTML шаблоны писем с визуальным редактором
{{email}}, {{name}}, {{link}}. Кнопка “Просмотр” показывает итоговый HTML до отправки.Базы получателей
Загружайте ваши CSV/TXT списки адресов для прогрева и рассылок
Запуск рассылок и прогрева
Запускайте и анализируйте процесс доставки писем по базам
| ID | Кампания | Статус | Размер базы | Успешно | Ошибки | Дата старта |
|---|
Обнаруженные файлы (Auto-Watcher)
Сервер автоматически сканирует папку imports/ каждые 5 секунд. Закидывайте файлы через FTP/FileZilla!
imports/ сканируется watcher-ом. Один и тот же файл можно импортировать повторно: будет создана новая база или новый шаблон с выбранным именем.| Имя файла | Тип | Обнаружен | Статус | Действия |
|---|
Входящие письма и Временная почта
Принимайте входящую почту на свои домены, заводите ящики техподдержки или генерируйте временные disposable-адреса для тестов.
Создать почтовый ящик
Активные адреса
| Тип |
|---|
Входящие сообщения
| Отправитель | Тема | Получено |
|---|