- Spegnimento
- 27 luglio 2026 alle ore 19:53 UTC
- Autore
- Kamo
- Impegno
- 7d75315
Backend per org-level bulk e-mail campagne, completamente separato dal quotidiano e-mail provider in modo che non può essere throttled/blocklist al fianco di business mail: - Bulk SMTP provider (BulkEmailProviderService + BulkProviderController): crittografato org config reusing EmailProviderEncryptionService; reale Invia test Email (apre una sessione SMTP dal vivo e invia). - Campagna CRUD + macchina di stato (CampaignService/Controller): progetto, programma, send-now, pausa, riprendere, cancellare, duplicare; materializzazione del destinatario con dedupe, soppressione tagging, per-recipiente cancella token; cancello CAN-SPAM (soggetto + indirizzo fisico + >=1 destinatario richiesto di lasciare il progetto). - Speditore a trazione (CampaignDispatcher @Scheduled): all-at-once / pacing uniformemente-over-finestra / naturalized-random via per-recipient successivoReleaseAt (retro-safe), rampa di riscaldamento su maxPerHour, hard-bounce -> auto-suppress. - Compliance: SuppressionService, public one-click RFC 8058 UnsubscribeController (+ List-Unsubscribe headers), soppressione ricontrollata al momento dell'invio. - In tempo reale: spingere STOMP a /topic/campaigns/{orgId} + tempo di iscrizione org ChannelInterceptor (chiude l'esposizione dell'argomento cross-tenant). - EmailSmtpService: additive extraHeaders send() overload (List-Unsubscribe).