Add EmailTemplateService — CRUD + send + seed + reset-to-default

FeatureEmailService
Shipped
April 18, 2026 at 3:45 PM UTC
Author
Kamo
Commit
9730abe

Core orchestrator for transactional email. sendToUser resolves the template, renders subject/body, picks the org's primary domain from Organization.domains, and hands off to EmailSmtpService with NoReply@{org.domain} as from-address. Includes seedForOrg for new-org lifecycle hook and resetToDefault that copies a SYSTEM row's content over a per-org REQUIRED row. Auth for the send uses cluster-wide transactional SMTP service credentials (transactional.smtp.user / transactional.smtp.pass) rather than the per-member provider resolver — transactional sends have no acting member. Part of SP1.

All changes

Like what you see shipping?

Every one of these updates lands in your workspace automatically. Start free and watch it grow week after week.

Start Free ForeverView Pricing