Skip to content

feat: carry email headers through the messaging types - #255

Merged
Bccorb merged 2 commits into
mainfrom
feat/email-headers
Nov 1, 2026
Merged

Bccorb merged 2 commits into
mainfrom
feat/email-headers

Conversation

@Bccorb

@Bccorb Bccorb commented Nov 1, 2026

Copy link
Copy Markdown
Contributor

Builds on #253 (types 0.34.0).

  • EmailMessage from @seamless-auth/types 0.34.0 has an optional headers record. Core now passes an override's headers to the email transport untouched, so an adopter can send List-Unsubscribe and List-Unsubscribe-Post. @seamless-auth/messaging-aws 0.3.0 sends them through SES v2 and validates the names and values.
  • SendEnrollmentInviteEmailInput now comes from types instead of a local interface in core. The Express, Fastify and Next.js adapters export it with the other messaging types.

Tests: a core test that an override's headers reach the transport, and an Express consumer type fixture that takes headers and rejects a non-string value.

Changeset: core, express, fastify and nextjs minor. Merging this before #252 puts it in the same release as the types bump.

Checks: build, typecheck, lint, format:check, and tests (core 588, express 264, fastify 271, nextjs 257).

EmailMessage gains the optional headers record from types 0.34.0, and core
hands an override's headers to the email transport untouched. The
enrollment invite input now comes from types too, and express exports it.
@Bccorb
Bccorb merged commit 6b8e205 into main Nov 1, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant