- Порезанный
- 27 июля 2026 г. в 19:53 UTC
- Автор
- Kamo
- Обещать
- 7d75315
Backend для орг-уровня массовых кампаний электронной почты, полностью отдельно от повседневных. Поставщик электронной почты, чтобы его нельзя было блокировать вместе с деловой почтой: - провайдер Bulk SMTP (BulkEmailProviderService + BulkProviderController): Зашифрованная конфигурация организации повторное использование EmailProviderEncryptionService; реальный тест отправки Электронная почта (открывает сеанс SMTP и отправляет). - Campaign CRUD + status machine (CampaignService/Controller): черновик, расписание, отправка-сейчас, пауза, резюме, отмена, дублирование; материализация получателя dedupe, suppression tagging, per-recipient unsubscribe tokens; CAN-SPAM gate (субъект + физический адрес + >=1 получатель, обязанный оставить черновик). - Диспетчер на колесах (CampaignDispatcher @Scheduled): All-at-once / равномерное окно / натурализованная случайная прогулка через получателя (Restart-Safe), разминка на maxPerHour, жесткий отскок -> автоподавление. - Соблюдение: SuppressionService, публичный однокликовый RFC 8058 UnsubscribeController (+ Заголовки List-Unsubscribe), подавление перепроверено при отправке. - В режиме реального времени: прямой толчок STOMP к /topic/campaigns/{orgId} + время подписки Org ChannelInterceptor (закрывает перекрестную экспозицию темы). - EmailSmtpService: добавочный extraHeaders send() overload (List-Unsubscribe).