mirror of
https://github.com/skoelle/calender_sync.git
synced 2026-09-17 18:20:24 +00:00
mailer weekly notifier
This commit is contained in:
@@ -14,6 +14,7 @@ Läuft als Docker Container, pollt periodisch einen privaten Google Calendar ICS
|
||||
- Web-UI zur Anzeige anstehender Termine mit Suchfunktion
|
||||
- REST API für programmsprachigen Zugriff auf Kalenderdaten
|
||||
- Optionale tägliche E-Mail-Benachrichtigung um konfigurierte Uhrzeit
|
||||
- Optionale wöchentliche Vorab-Info (z.B. freitags) mit Termine nach Suchbegriffen
|
||||
|
||||
[](docs/screenshot.png)
|
||||
|
||||
@@ -123,6 +124,33 @@ Sendet täglich eine HTML-Email mit den anstehenden Terminen. Wird aktiviert wen
|
||||
|
||||
**Hinweis:** Ganztagstermine werden nicht in der Benachrichtigung berücksichtigt.
|
||||
|
||||
### Optionale wöchentliche Vorab-Info
|
||||
|
||||
Sendet wöchentlich (standardmäßig freitags) eine HTML-Email mit Terminen, die auf konfigurierte Suchbegriffe passen. Zeitraum ist immer Samstag bis Freitag der nächsten Woche. Wird aktiviert wenn `WEEKLY_NOTIFY_ENABLED=true` und mindestens ein Suchbegriff gesetzt ist.
|
||||
|
||||
| Variable | Default | Beschreibung |
|
||||
|----------|---------|--------------|
|
||||
| `WEEKLY_NOTIFY_ENABLED` | `false` | Feature aktivieren |
|
||||
| `WEEKLY_NOTIFY_DAY` | `5` | Wochentag (0=Mo, 1=Di, ..., 5=Fr) |
|
||||
| `WEEKLY_NOTIFY_TIME` | `16` | Uhrzeit für Benachrichtigung (Stunde, 0-23) |
|
||||
| `WEEKLY_NOTIFY_TIMEZONE` | `Europe/Berlin` | Zeitzone für die Benachrichtigung |
|
||||
| `WEEKLY_NOTIFY_EMAIL` | - | Empfänger (Fallback: `NOTIFY_EMAIL`) |
|
||||
| `WEEKLY_SEARCHWORDS` | - | Komma-separierte Suchbegriffe |
|
||||
|
||||
**Subject-Logik:**
|
||||
- 1 Termin: `Vorab-Info: Termin am Fr, 15.08.`
|
||||
- 2+ Termine: `Vorab-Info: 3 Termine naechste Woche`
|
||||
|
||||
**Beispiel:**
|
||||
```bash
|
||||
WEEKLY_NOTIFY_ENABLED=true
|
||||
WEEKLY_NOTIFY_DAY=5
|
||||
WEEKLY_NOTIFY_TIME=16
|
||||
WEEKLY_SEARCHWORDS=Fussball,Arzttermine
|
||||
```
|
||||
|
||||
**Hinweis:** Keine Email wenn keine Treffer für die Suchbegriffe im Zeitraum.
|
||||
|
||||
## Datenbank-Schema
|
||||
|
||||
Tabelle `calendar_events`:
|
||||
@@ -155,6 +183,15 @@ Tabelle `daily_notification_log` (optional, für E-Mail-Benachrichtigung):
|
||||
| `sent_at` | DATETIME | Zeitpunkt des Versands |
|
||||
| `event_count` | INT | Anzahl Termine in der Email |
|
||||
|
||||
Tabelle `weekly_notification_log` (optional, für wöchentliche Vorab-Info):
|
||||
|
||||
| Spalte | Typ | Beschreibung |
|
||||
|--------|-----|--------------|
|
||||
| `id` | INT PK | Auto-Increment |
|
||||
| `notify_date` | DATE | Datum der Benachrichtigung |
|
||||
| `sent_at` | DATETIME | Zeitpunkt des Versands |
|
||||
| `event_count` | INT | Anzahl Termine in der Email |
|
||||
|
||||
## Web-UI & API
|
||||
|
||||
Das Projekt enthält eine FastAPI-basierte Webanwendung die als separater Container (`calendar-api`) läuft und auf Port `8000` erreichbar ist.
|
||||
|
||||
Reference in New Issue
Block a user