644c99ee30
Sends a confirmation email (best-effort, fire-and-forget SMTP via mailer.py) on booking creation, with a manage-booking link embedding the ticket-2 signed token. Adds /manage/<token>, a stateless cancel/reschedule page that reuses the existing slot-picker against booking_api's create/cancel/reschedule API, distinguishing an invalid/expired link from an already-cancelled one. Sender address uses the client's own domain when configured, falling back to a mivanchenko.de address otherwise. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
16 lines
669 B
Bash
16 lines
669 B
Bash
# Copy to .env on the host and fill in. .env and secrets/ are gitignored.
|
|
DB_PASSWORD=change-me-strong
|
|
CRM_API_TOKEN=change-me-long-random
|
|
BOOKING_TOKEN_SECRET=change-me-long-random-too
|
|
SHEET_ID=1raMSWRZw_JfHlWqOb3LbhaQ6LWx0VGblxIV4Z2pSzp8
|
|
# Booking confirmation email (#18). Left blank, sending is skipped (logged,
|
|
# not fatal) -- mail relay setup is a separate infra/triage item.
|
|
SMTP_HOST=
|
|
SMTP_PORT=587
|
|
SMTP_USERNAME=
|
|
SMTP_PASSWORD=
|
|
# Used as the From address when a client has no domain configured.
|
|
MAIL_FALLBACK_FROM=noreply@mivanchenko.de
|
|
# Base URL the manage-booking link in the confirmation email is built from.
|
|
PUBLIC_BASE_URL=https://onboard.mivanchenko.de
|