Skip to content

feat: build out transactional email system for all lifecycle events#262

Open
Anuoluwapo25 wants to merge 1 commit into
Savitura:mainfrom
B-Hands:feature/transactional-emails
Open

feat: build out transactional email system for all lifecycle events#262
Anuoluwapo25 wants to merge 1 commit into
Savitura:mainfrom
B-Hands:feature/transactional-emails

Conversation

@Anuoluwapo25

@Anuoluwapo25 Anuoluwapo25 commented Jun 19, 2026

Copy link
Copy Markdown
Contributor

emailService.js only sent a contribution receipt, leaving registration, campaign funded/failed, withdrawals, milestones, KYC, disputes, campaign updates, and team invites with no email — a gap that erodes trust on a financial platform and drives support volume. Add branded HTML+text templates per event in src/emails/, extend emailService.js with one named send function per type, guard every send with a sent_emails idempotency table, and add unsubscribe support for non-transactional campaign-update emails. Also fixes a duplicate const db declaration in index.js that was a syntax error on main.

closes #251

emailService.js only sent a contribution receipt, leaving registration,
campaign funded/failed, withdrawals, milestones, KYC, disputes, campaign
updates, and team invites with no email — a gap that erodes trust on a
financial platform and drives support volume. Add branded HTML+text
templates per event in src/emails/, extend emailService.js with one
named send function per type, guard every send with a sent_emails
idempotency table, and add unsubscribe support for non-transactional
campaign-update emails. Also fixes a duplicate `const db` declaration
in index.js that was a syntax error on main.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@dotunv

dotunv commented Jun 20, 2026

Copy link
Copy Markdown
Contributor

Resolve the conflict

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.

Transactional Email Templates — Full Lifecycle Email Coverage

2 participants