Skip to content

refactor(email): SES -> @bitbaum/mail-kit; drop @aws-sdk/client-ses - #178

Merged
github-actions[bot] merged 1 commit into
mainfrom
refactor/mail-kit
Sep 5, 2026
Merged

refactor(email): SES -> @bitbaum/mail-kit; drop @aws-sdk/client-ses#178
github-actions[bot] merged 1 commit into
mainfrom
refactor/mail-kit

Conversation

@catomean

@catomean catomean commented Sep 5, 2026

Copy link
Copy Markdown
Collaborator

Replaces the AWS SES transport in lib/email/service.ts with @bitbaum/mail-kit (Resend, fleet env SSOT RESEND_FROM with the conventional fleet sender as fallback) and removes the @aws-sdk/client-ses dependency. Note: the sweep playbook called for a bare dep removal claiming no call sites, but EmailService is live in the consultations API route — removing the dep alone would not build, so the transport was migrated instead; templates, method signatures and the throw-on-failure contract are unchanged, dead NEXT_AWS_*/FROM_EMAIL config reads are deleted, and the email tests now mock mail-kit (plus a new failed-send case).

🤖 Generated with Claude Code

The playbook expected no SES call sites, but lib/email/service.ts is live
(consultations route sends welcome + admin mails through it), so a bare dep
removal would have broken the build. Instead the transport is swapped to the
fleet's mail layer:

- EmailService now sends via @bitbaum/mail-kit sendMail; the throw-on-failure
  contract is preserved for the catching caller
- Sender comes from RESEND_FROM (fleet SSOT) with conventionalFrom('Botsmann')
  fallback; FROM_EMAIL and NEXT_AWS_* reads deleted from email config paths
- @aws-sdk/client-ses removed; tests mock @bitbaum/mail-kit instead of SES,
  with a new failed-send assertion

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WqKqMnHQHSmkGFfc5t7Rxn
@github-actions
github-actions Bot merged commit 9562144 into main Sep 5, 2026
1 check passed
@github-actions
github-actions Bot deleted the refactor/mail-kit branch September 5, 2026 10:14
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