@email-service/email-service
Version:
email-service is a versatile npm package designed to simplify the integration and standardization of email communications across multiple Email Service Providers (ESPs).
18 lines (17 loc) • 986 B
TypeScript
import type { EmailPayload, StandardResponse } from '../types/email.type.js';
import type { BulkPayload, BulkReport, EmailServiceHooks } from '../types/bulk.type.js';
/**
* Boucle interne exécutée par `ESP.sendBulk`. Reçoit une fonction `sendOne`
* qui délègue à `sendMail()` de l'ESP concret — permet au template method de
* la classe ESP de conserver le rate limit Phase 3 automatiquement.
*
* Comportement par destinataire :
* 1. Validation marketing → si absent, throw avant même la boucle
* 2. checkSuppression via hook → skip si bloqué par le stream
* 3. Interpolation subject/html/text via renderTemplate + mergeVars
* 4. Injection List-Unsubscribe si marketing
* 5. Appel sendOne (qui applique rate limit)
* 6. Hook onSent / onFailed
* 7. Accumulation dans le BulkReport
*/
export declare function runBulk(payload: BulkPayload, hooks: EmailServiceHooks | undefined, sendOne: (payload: EmailPayload) => Promise<StandardResponse>): Promise<BulkReport>;