E-Mail-Zustellung einrichten

E-Mail ist der Weg, wie KolleK Personen außerhalb einer Browsersitzung erreicht: Einladungen, Magic Links, Passwort-Zurücksetzungen, E-Mail-Verifizierung und Sicherheitswarnungen kommen alle per E-Mail an. Solange du die Zustellung nicht konfigurierst, geht keine davon irgendwohin.

Der Standard versendet nichts

Eine frische Instanz wird mit MAIL_MAILER=log ausgeliefert. Jede E-Mail wird in die Anwendungslogdatei geschrieben, statt versendet zu werden. Das ist Absicht: So versendet eine halb konfigurierte Instanz nie unbemerkt Mails von einer falschen Adresse, und du kannst beim Testen genau nachlesen, was versendet worden wäre.

Notiz

Wenn jemand bei einer neuen Instanz sagt "Ich habe die Einladung nie bekommen", liegt das fast immer an diesem Standardverhalten. Die E-Mail existiert, in der Logdatei. Siehe Probleme beim E-Mail-Versand beheben.

Es gibt zwei unterstützte Wege, echte E-Mails zu versenden: einen beliebigen SMTP-Server oder den Dienst Resend.

Option 1: SMTP

1
Mailer und Serverdetails festlegen

Setze in .env:

MAIL_MAILER=smtp
MAIL_HOST=smtp.yourprovider.com
MAIL_PORT=587
MAIL_USERNAME=your-username
MAIL_PASSWORD=your-password

Jeder Transaktions-E-Mail-Anbieter oder selbst betriebene Mailserver mit SMTP-Zugangsdaten funktioniert.

2
Absenderidentität festlegen

Lege die Adresse und den Namen fest, die deine Benutzer sehen:

MAIL_FROM_ADDRESS=kollek@yourdomain.com
MAIL_FROM_NAME="KolleK"

Verwende eine Domain, die du kontrollierst und für den Versand konfiguriert hast (SPF und DKIM bei deinem Anbieter), sonst landen deine Mails im Spam.

3
Anwenden und testen

Erstelle die Container neu und löse dann eine echte E-Mail aus, zum Beispiel indem du auf der Anmeldeseite einen Magic Link anforderst:

docker compose up -d

Option 2: Resend

Wenn du Resend nutzt, setze:

USE_RESEND=true
RESEND_API_KEY=re_your_api_key

E-Mails werden dann über die API von Resend statt per SMTP versendet, und jeder Versand vermerkt die Resend-Nachrichten-ID.

Prüfen, ob die Zustellung funktioniert

KolleK protokolliert jede versendete E-Mail, pro Benutzer, mit Betreff, Inhalt und Zustellstatus. Prüfe nach deinem Test zwei Stellen:

Häufige Anzeichen für Probleme:

  • Nichts kommt an, aber es gibt auch keinen Fehler. Der Mailer steht noch auf log. Prüfe, ob .env durch das Neuerstellen der Container übernommen wurde.
  • E-Mails werden versendet, landen aber im Spam. Die Absenderdomain ist nicht authentifiziert. Richte SPF und DKIM bei deinem Anbieter ein.
  • Versandfehler im Log. Zugangsdaten oder Hostdetails sind falsch. Die Logs des Queue-Workers enthalten die Fehlermeldung des Anbieters.

E-Mails werden über die Hintergrund-Warteschlange versendet, der Container queue muss also laufen, damit überhaupt etwas die Instanz verlässt.

Wie es weitergeht

Dokumentation für KolleK Diese Seite auf GitHub bearbeiten
War diese Seite hilfreich?