Commit Graph

10 Commits

Author SHA1 Message Date
Jeff Emmett 42062a2467 feat: add Listmonk newsletter integration for VotC
Add direct PostgreSQL Listmonk integration to sync waitlist signups
and applications to the Valley of the Commons list (ID 24).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-01 11:23:17 -08:00
Jeff Emmett 59b37fb018 fix: switch SMTP from noreply@jeffemmett.com to newsletter@valleyofthecommons.com
Update default SMTP_USER and EMAIL_FROM across all three API handlers
(mollie, application, waitlist-db) to use the domain-specific newsletter
mailbox. Infisical secrets also updated to match.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-01 10:58:47 -08:00
Jeff Emmett 6ab2a8ff3b feat: add booking details (ticket, weeks, price) to confirmation email
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-23 20:58:48 -08:00
Jeff Emmett 8b1d45485c feat: switch domain from votc.jeffemmett.com to valleyofthecommons.com
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-23 20:43:28 -08:00
Jeff Emmett 2463980838 fix: use DATABASE_SSL env var instead of NODE_ENV for pg SSL 2026-02-23 20:35:35 -08:00
Jeff Emmett 4e69492bd0 chore: migrate SMTP from mx.jeffemmett.com to mail.rmail.online
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 20:15:25 +00:00
Jeff Emmett 5c30d2dfcc fix: add TLS rejectUnauthorized:false for Mailcow self-signed cert
Nodemailer rejects self-signed certificates by default, causing
STARTTLS handshake failures with Mailcow Postfix. Added tls option
to both waitlist and application SMTP transports.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-18 03:36:28 -07:00
Jeff Emmett 70349c2443 Replace Resend references with Mailcow SMTP config
- docker-compose: RESEND_API_KEY → SMTP_* env vars
- .env.example: Resend section → SMTP section
- application.js + waitlist-db.js: rename resend_id → message_id
- schema.sql: rename resend_id column → message_id

App already used nodemailer/SMTP — this just cleans up legacy naming.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-15 16:13:09 -07:00
Jeff Emmett 620bc229ed feat: replace Resend SDK with Mailcow SMTP (nodemailer)
Swap email sending from Resend API to self-hosted Mailcow at
mx.jeffemmett.com. Uses SMTP_PASS env var instead of RESEND_API_KEY.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-15 09:48:53 -07:00
Jeff Emmett 8f67250928 Add application system with PostgreSQL and email integration
- Replace BlockSurvey with custom application form (apply.html)
- Add admin dashboard for reviewing applications (admin.html)
- Create PostgreSQL schema for waitlist, applications, email logging
- Implement application API with Resend email confirmations
- Replace Google Sheets waitlist with PostgreSQL backend
- Update docker-compose with PostgreSQL service
- Update server.js with new API routes
- Update index.html to link to internal apply.html

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-02 14:07:06 +00:00