Files
me-joachimhummel-de/artifacts
joachimhummel 3ef76a4433 Task #17: Send a branded notification email to Joachim on contact form submission
Replaced the minimal plain-HTML notification email (sent to jh@unixweb.de) with a
fully branded HTML email that matches the existing confirmation email layout.

Changes:
- Added `buildNotificationEmail()` function in `artifacts/api-server/src/routes/contact.ts`
- Same visual structure as `buildConfirmationEmail()`: blue header with JH monogram,
  white card body, divider, branded footer with links
- Sender details (name, e-mail, subject, message) are displayed in a structured field
  table inside the card body, with subtle background shading and label rows
- "Absender antworten →" CTA button links to `mailto:{email}?subject=Re: {subject}`
  so Joachim can reply to the sender in one click
- Subject field row is conditionally rendered (omitted when no subject was provided)
- All user-supplied values are escaped through the existing `escapeHtml()` helper
- The first `sendTransacEmail` call now passes `buildNotificationEmail(...)` instead
  of the inline minimal HTML string

No schema, API contract, or dependency changes. Typecheck passes cleanly after
running codegen to resolve a pre-existing import gap in @workspace/api-zod.

Replit-Task-Id: 601aa064-22da-4553-9ad0-a15f82563eb6
2026-05-15 17:11:43 +00:00
..
2026-05-13 03:54:14 +00:00