2.5 KiB
Troubleshooting
Container startet, aber keine Kalender werden erstellt
- Logs prüfen:
docker compose logs -f birthdaydaemon - Sicherstellen, dass der API-Key Lese- und Schreibzugriff hat (nicht nur Lesezugriff).
- Prüfen, ob die Mailbox aktiv ist – inaktive Mailboxen werden übersprungen.
Verbindungsfehler / Timeout
- Typisches Hairpin-NAT-Problem:
MAILCOW_RESOLVE_HOST=nginx-mailcowals Umgebungsvariable hinzufügen. - Sicherstellen, dass der Container im Netzwerk
mailcow-networkist.
401 Unauthorized in den Logs
Das gespeicherte App-Passwort für den betroffenen Benutzer ist ungültig (z. B. manuell in Mailcow gelöscht). Der Daemon verwirft das alte Passwort automatisch und erstellt beim nächsten Zyklus ein neues.
Doppelte Kalender nach Umbenennung von CALENDAR_NAME
Wurde CALENDAR_NAME geändert, bevor der alte Name im State-File gespeichert war (z. B. bei einem Update von vor v0.2.0), existieren pro Mailbox zwei Geburtstagskalender. Der integrierte Cleanup-Befehl entfernt den alten Kalender aus allen Mailboxen – aber nur, wenn alle enthaltenen Einträge vom Daemon erstellt wurden. Manuell angelegte Kalender mit gleichem Namen bleiben unangetastet.
cd /opt/mailcow-dockerized
docker compose exec birthdaydaemon /mailcow-birthday-daemon cleanup <alter-kalendername>
Beispiel: Der alte Kalender hieß Birthdays und wurde auf Geburtstage umgestellt:
docker compose exec birthdaydaemon /mailcow-birthday-daemon cleanup Birthdays
Beispielausgabe:
2026/03/28 23:46:22 INFO starting calendar cleanup calendarName=Birthdays
2026/03/28 23:46:22 INFO using internal resolve host for connections resolveHost=nginx-mailcow
2026/03/28 23:46:22 INFO removed old birthday calendar user=user1@example.com calendar=Birthdays
2026/03/28 23:46:23 INFO removed old birthday calendar user=user2@example.com calendar=Birthdays
2026/03/28 23:46:23 INFO removed old birthday calendar user=user3@example.com calendar=Birthdays
2026/03/28 23:46:24 INFO cleanup finished processed=5 skipped=0
Hinweis: Der Daemon muss vorher mindestens einmal gelaufen sein, damit App-Passwörter im State-File vorhanden sind. Benutzer ohne gespeichertes Passwort werden übersprungen.
Kalender erscheint nicht in SOGo
SOGo zeigt neue Kalender manchmal erst nach einem Neuladen der Seite (Strg+Shift+R) oder nach dem nächsten Login an. Der Kalender wird unter dem Namen erstellt, der in CALENDAR_NAME konfiguriert ist (Standard: Birthdays).