Authentication
Compose credentials, magic links, sessions, passkeys, MFA, and connected-provider access without handing application identity to a framework.
Magic links
Deliver rendered messages and SES templates through an application-configured AWS SDK client.
Visit Amazon SES ↗Compose credentials, magic links, sessions, passkeys, MFA, and connected-provider access without handing application identity to a framework.
Magic links
Model organizations, memberships, invitations, ownership, active-account switching, and fail-closed data scope.
Invitations · Ownership transfer
Render typed application email and deliver it through explicit SES, Mailgun, Postmark, Resend, SendGrid, SMTP, or capture-test providers.
Rendered application email · Provider templates
Define typed notifications, resolve recipient preferences, deliver across explicit channels, and retain one provider-independent history of every send.
Multi-channel delivery
Build waitlists, newsletters, release lists, and preference centers with explicit consent, segmentation, confirmation, and delivery boundaries.
Broadcast delivery
@playstack/mail/ses supports rendered messages, attachments, custom headers, and SES templates. Application template models cross an exact JSON boundary before becoming provider template data.
import { createMail } from '@playstack/mail'
import { createSesMailProvider } from '@playstack/mail/ses'
const mail = createMail({
driver: createSesMailProvider(
{ region: 'us-east-1' },
{ configurationSetName: 'transactional' },
),
from: 'hello@example.com',
})AWS credentials use the SDK's standard provider chain, and the exact SESv2Client remains available through mail.client.