Bulk email campaign backend — provider, dispatcher, compliance, realtime

FeatureEmailService
Ya
27 Julai 2026, 19:53 UTC
Mwandishi
Kamo
Ahadi ya
7d75315

Backend for org-level bulk email campaigns, entirely separate from the everyday email provider so it can't be throttled/blocklisted alongside business mail: - Bulk SMTP provider (BulkEmailProviderService + BulkProviderController): encrypted org config reusing EmailProviderEncryptionService; real Send Test Email (opens a live SMTP session and sends). - Campaign CRUD + status machine (CampaignService/Controller): draft, schedule, send-now, pause, resume, cancel, duplicate; recipient materialization with dedupe, suppression tagging, per-recipient unsubscribe tokens; CAN-SPAM gate (subject + physical address + >=1 recipient required to leave draft). - Throttled dispatcher (CampaignDispatcher @Scheduled): all-at-once / evenly-over-window / naturalized-random pacing via per-recipient nextReleaseAt (restart-safe), warm-up ramp on maxPerHour, hard-bounce -> auto-suppress. - Compliance: SuppressionService, public one-click RFC 8058 UnsubscribeController (+ List-Unsubscribe headers), suppression re-checked at send. - Real-time: direct STOMP push to /topic/campaigns/{orgId} + subscribe-time org ChannelInterceptor (closes cross-tenant topic exposure). - EmailSmtpService: additive extraHeaders send() overload (List-Unsubscribe).

Mabadiliko yote

Je, unaona nini kuhusu usafiri?

Kila moja ya hizi updates ardhi katika nafasi yako ya kazi moja kwa moja. Kuanza bure na kuangalia kukua wiki baada ya wiki.

Kuwa Huru MileleMtazamo wa bei