Implement approved email sending through the self-hosted Stalwart mail server using SMTP/SMTPS and Nodemailer. The system must never send automatically before manual approval and must log recipient, subject, audit link, status, and errors in Convex.
Acceptance Criteria
#1 Nodemailer is configured for Stalwart SMTP/SMTPS using environment or Convex secrets
#2 E-Mail freigeben und senden sends only the currently approved/editable email draft to the visible recipient
#3 A final send action shows recipient, subject, sender, and audit link before sending
#4 Convex records sent timestamp, recipient, subject, audit link, SMTP result, and any error details
#5 SMTP failures keep the lead in a retryable review state and do not mark the lead as contacted
Implemented TASK-14 via subagent-driven TDD. Verification passed: targeted outreach tests (27/27), pnpm test (278/278), pnpm exec tsc -p tsconfig.json --noEmit, pnpm lint (0 errors, 2 generated BetterAuth warnings), pnpm build (passed with network-enabled run for Google Fonts). Task remains In Progress until explicit user confirmation after manual SMTP testing.