Skip to content

Send registration verification emails via Resend#131

Open
sfoale wants to merge 3 commits into
masterfrom
professional-email
Open

Send registration verification emails via Resend#131
sfoale wants to merge 3 commits into
masterfrom
professional-email

Conversation

@sfoale

@sfoale sfoale commented Jun 29, 2026

Copy link
Copy Markdown
Collaborator

Add Resend as the preferred transport for registration verification emails, falling back to SMTP when RESEND_API_KEY is unset. Emails now send from the branded, domain-verified address
no-reply@send.treasuremap.space instead of the personal Gmail account.

  • server/utils/email.py: add _send_resend() (lazy resend import, run in a worker thread); select transport Resend -> SMTP -> dev log fallback
  • server/config.py: add RESEND_API_KEY and RESEND_FROM settings
  • server/requirements.txt: add resend>=2.0.0
  • helm: wire RESEND_API_KEY secret (secrets.yaml, _helpers.tpl) and RESEND_FROM env (deployment.yaml); add resendApiKey placeholder to values.yaml and values-argocd.yaml

Add Resend as the preferred transport for registration verification
emails, falling back to SMTP when RESEND_API_KEY is unset. Emails now
send from the branded, domain-verified address
no-reply@send.treasuremap.space instead of the personal Gmail account.

- server/utils/email.py: add _send_resend() (lazy resend import, run in
  a worker thread); select transport Resend -> SMTP -> dev log fallback
- server/config.py: add RESEND_API_KEY and RESEND_FROM settings
- server/requirements.txt: add resend>=2.0.0
- helm: wire RESEND_API_KEY secret (secrets.yaml, _helpers.tpl) and
  RESEND_FROM env (deployment.yaml); add resendApiKey placeholder to
  values.yaml and values-argocd.yaml
@sfoale sfoale requested a review from Copilot June 29, 2026 07:22

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR switches registration verification emails to use Resend as the preferred delivery mechanism (with SMTP fallback when no Resend API key is configured) and updates application + Helm configuration to support the new transport and branded sender identity.

Changes:

  • Add Resend transport support to verification-email sending (Resend → SMTP → dev logging fallback).
  • Introduce RESEND_API_KEY / RESEND_FROM configuration and add the resend Python dependency.
  • Wire Helm values/templates for the Resend API key secret and RESEND_FROM environment variable.

Reviewed changes

Copilot reviewed 8 out of 8 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
server/utils/email.py Adds _send_resend() and selects Resend-first transport with async thread offload.
server/requirements.txt Adds resend>=2.0.0 dependency.
server/config.py Adds RESEND_API_KEY and RESEND_FROM settings.
gwtm-helm/values.yaml Adds secrets.resendApiKey value placeholder.
gwtm-helm/values-argocd.yaml Adds secrets.resendApiKey placeholder/comment for ArgoCD-managed values.
gwtm-helm/templates/secrets.yaml Adds resend-api-key entry to generated Secret data.
gwtm-helm/templates/fastapi/deployment.yaml Adds RESEND_FROM env var to the FastAPI deployment.
gwtm-helm/templates/_helpers.tpl Adds RESEND_API_KEY env var sourced from the chart secret.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread gwtm-helm/templates/_helpers.tpl
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.

2 participants