canvas-website/backlog/tasks/task-064 - Decommission-Res...

999 B

id title status assignee created_date labels dependencies priority
TASK-064 Decommission Resend — migrate to self-hosted Mailcow SMTP Done
2026-02-15 23:15
high

Description

Replace all Resend API integrations with self-hosted Mailcow SMTP via email relay service

Implementation Notes

Completed 2026-02-15

Changes

  • cryptidAuth.ts: sendEmail() now calls email-relay.jeffemmett.com instead of api.resend.com
  • boardPermissions.ts: admin request emails use email relay
  • types.ts: RESEND_API_KEY → EMAIL_RELAY_URL + EMAIL_RELAY_API_KEY
  • wrangler.toml: updated secrets docs
  • Tests updated with new mock env vars

Wrangler Secrets

  • EMAIL_RELAY_URL set
  • EMAIL_RELAY_API_KEY set
  • RESEND_API_KEY deleted

Email Relay

  • Deployed at email-relay.jeffemmett.com
  • Flask + Gunicorn, sends via Mailcow SMTP
  • Bearer token auth