Notifications · Reference
SES Channel
A legacy SES channel for the source-vendored direct dispatcher; durable systems should use the package SES adapter.
Last updated October 8, 2026
Compatibility Status
notification-channel-email-ses is the SES adapter for the source-vendored service-notification direct dispatcher. It handles that dispatcher's top-level email message key and keeps its compatibility payload schema beside the channel.
New durable systems should install @krak-stack/notifications and import sesEmailTransportRegistryLayer from @krak-stack/notifications/transport/email-ses. That package adapter participates in the delivery ledger, attempts, preferences and suppressions, retries, scheduler, and workers.
Install
bunx shadcn@latest add @krak-stack/notification-channel-email-sesIncluded Files
services/notification/channels/ses/index.ts- Compatibility SES channel, config service, and layerservices/notification/channels/ses/schema.ts- Compatibility SES payload schema
Direct Compatibility Usage
const notificationChannelsLayer = Layer.effect(
NotificationChannelRegistry,
Effect.gen(function* () {
const email = yield* SesNotificationChannel;
return NotificationChannelRegistry.make(email);
}),
).pipe(Layer.provide(SesNotificationChannel.layer));
const notificationServiceLayer = NotificationService.layer.pipe(
Layer.provide(notificationChannelsLayer),
);Use this path only when the application intentionally keeps the legacy direct dispatcher. Direct delivery runs in the calling process and has no package-owned persistence, retries, preferences, or worker runtime.
Environment Variables
SES_REGION- AWS SES regionSES_ACCESS_KEY_ID- AWS access key IDSES_SECRET_ACCESS_KEY- AWS secret access keyNOTIFICATION_EMAIL_FROM- Optional default sender address when the payload omitsfrom