Authentication
Compose credentials, magic links, sessions, passkeys, MFA, and connected-provider access without handing application identity to a framework.
Magic links
Deliver transactional mail and synchronize consent-aware audience contacts through explicit Resend adapters.
Visit Resend ↗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
The Resend adapter delivers portable rendered messages and provider-owned templates through @playstack/mail/resend. Template variables are validated against Resend's string-and-number boundary before provider I/O, while the native client remains available for provider-specific capabilities.
import { createMail } from '@playstack/mail'
import { createResendMailProvider } from '@playstack/mail/resend'
const mail = createMail({
driver: createResendMailProvider(process.env.RESEND_API_KEY!),
from: { address: 'hello@example.com', name: 'Example' },
})Rendered messages, attachments, custom headers, and provider templates share the same portable mail contract. Applications remain responsible for queueing, retry idempotency, and delivery-event workflows.
@playstack/audiences-resend maps Playstack's subscription, consent, confirmation, suppression, and unsubscribe lifecycle onto Resend Audiences contacts. It can treat Resend as a remote projection while Playstack remains the application authority, or participate in a deliberate remote-authority workflow.
Transactional mail and audience membership remain separate contracts even when both use the same Resend account and client.