Make admin notification recipients configurable via ADMIN_EMAILS

Previously the To/Cc addresses were hardcoded in notifier.py (Andrea,
Barbara, Markus). This caused accidental emails to production contacts
during testing.

Changes:
- New ADMIN_EMAILS env var: comma-separated list of addresses.
  First address → To; remaining addresses → Cc.
- AdminNotifier now accepts admin_emails list; warns and skips if empty.
- Removed hardcoded _INDOOR_EMAIL / _OUTDOOR_EMAIL / _ADMIN_CC_EMAIL
  constants and the _recipients_for() routing method.
- Config.from_env() parses ADMIN_EMAILS into a list.
- main.py passes config.admin_emails to AdminNotifier.
- .env.example documents the new variable with production example.
- Tests: fixture updated; TestRecipientsFor removed (routing gone).

For testing: ADMIN_EMAILS=you@example.com
For production: ADMIN_EMAILS=andrea.sigrist@gmx.net,baba.laeubli@gmail.com,spielgruppen@familien-verein.ch

https://claude.ai/code/session_01HaUFs7SaLD5SoiuGCY27Tw
This commit is contained in:
Claude
2026-02-21 21:23:51 +00:00
parent af96c7a310
commit 7fb1d1fa0f
5 changed files with 34 additions and 43 deletions
+9
View File
@@ -43,6 +43,15 @@ SMTP_USE_TLS=true
# ---------------------------------------------------------------
REGISTRATION_EMAIL=anmeldung@example.com
# ---------------------------------------------------------------
# Admin notification recipients (comma-separated)
# First address → To; remaining addresses → Cc.
# For testing, set this to just your own email address.
# Production example (indoor leader, outdoor leader, admin):
# ADMIN_EMAILS=andrea.sigrist@gmx.net,baba.laeubli@gmail.com,spielgruppen@familien-verein.ch
# ---------------------------------------------------------------
ADMIN_EMAILS=you@example.com
# ---------------------------------------------------------------
# Storage
# ---------------------------------------------------------------