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
+1
View File
@@ -58,6 +58,7 @@ def build_components(config: Config):
password=config.imap_password,
use_tls=config.smtp_use_tls,
from_email=config.registration_email,
admin_emails=config.admin_emails,
)
agent = EmailAgent(model=config.ai_model, kb=kb, store=store, notifier=notifier)