← К списку версий
v0.37.0
19.08.2026
PATCH
Email-маркетинг платформа
Что сделано
- Модель `Campaign` — статусы (draft/scheduled/sending/completed/cancelled/failed), типы аудитории (all/active/project/custom), статистика
- Модель `CampaignRecipient` — отслеживание каждого получателя (pending/sent/delivered/failed/unsubscribed/bounced)
- Миграции: `campaigns`, `campaign_recipients`, `clients.email_campaign_opt_out`
- `SendCampaignEmailJob` — ShouldQueue job, tries=3, backoff=60
- Каждое письмо = отдельный job с delay(throttle_seconds)
- Автоматический переход к следующему после отправки
- Очередь на database driver
- `buildRecipients()` — формирование списка по фильтру
- `getAudienceStats()` — подсчёт аудитории
- `renderBody()` / `renderSubject()` — подстановка переменных
- `sendTest()` — тестовая отправка
- `startCampaign()` — запуск (создание recipients + dispatch jobs)
- `cancelCampaign()` — отмена (остановка + пометка pending как failed)
- `updateStats()` — пересчёт счётчиков
- `scheduledCampaigns()` — обработка запланированных кампаний
- `CampaignMail` — универсальный Mailable для кампаний
- View: `emails/campaign.blade.php` — дизайн «Среда»
- Список кампаний с фильтрацией и статистикой
- Детальная страница: прогресс-бар, статистика, список получателей
- Предпросмотр письма в отдельном окне
- Кнопки: Запустить / Отменить / Удалить
- Ссылка «Кампании» в почте и в сайдбаре
- `welcome-client` — Приветствие клиента (system)
- `monthly-digest` — Ежемесячный дайджест (report)
- `GET /admin/campaigns` — список
- `GET /admin/campaigns/create` — wizard
- `POST /admin/campaigns` — создание
- `GET /admin/campaigns/{id}` — детали
- `PUT /admin/campaigns/{id}` — редактирование
- `DELETE /admin/campaigns/{id}` — удаление
- `GET /admin/campaigns/{id}/preview` — предпросмотр
- `POST /admin/campaigns/{id}/send` — запуск
- `POST /admin/campaigns/{id}/cancel` — отмена
- `POST /admin/campaigns/{id}/test` — тест
- `POST /admin/campaigns/audience` — AJAX аудитория
Результат
- Полный цикл email-рассылок: выбор аудитории, редактор, тест, запуск
- Автоматическая отправка по расписанию с очередью задач
- Статистика доставки по каждому получателю