Zum Hauptinhalt springen

E-Mail über SMTP

sol2flow verschickt E-Mails für Einladungen, Passwort-Zurücksetzungen, E-Mail-Bestätigungen, Freigaben von Registrierungen, Sicherheitshinweise (zum Beispiel „ein Passkey wurde hinzugefügt“) und Benachrichtigungs-Zusammenfassungen. Jede Nachricht hat einen HTML- und einen Nur-Text-Teil und ist in der Sprache des Empfängers verfasst.

Hinweis

E-Mail-Bestätigung verlangen ist standardmäßig eingeschaltet: Neue Konten und Personen, die ihre E-Mail-Adresse ändern, bestätigen die Adresse über einen Link per E-Mail. Kann Ihre Instanz keine E-Mails senden, schalten Sie die Einstellung unter Admin → Authentifizierung aus, sonst kann niemand die Registrierung abschließen. Siehe E-Mail-Bestätigung.

SMTP einrichten​

  1. Besorgen Sie sich SMTP-Zugangsdaten bei Ihrem Mail-Anbieter (oder für Ihren eigenen Mailserver). Am besten eignet sich eine eigene Absenderadresse wie [email protected].

  2. Ergänzen Sie in .env:

    MAIL_DRIVER=smtp
    MAIL_FROM="sol2flow <[email protected]>"
    SMTP_HOST=smtp.example.com
    SMTP_PORT=587
    SMTP_PASSWORD=…
    SMTP_SECURE=false
  3. Übernehmen Sie die Änderung: docker compose up -d.

  4. Testen Sie es: Wählen Sie auf der Anmeldeseite Passwort vergessen? für Ihr eigenes Konto und prüfen Sie, ob die E-Mail ankommt.

PortSMTP_SECUREVerschlüsselung
587falseSTARTTLS (nach dem Verbindungsaufbau hochgestuft), die übliche Wahl
465trueTLS ab dem ersten Byte
25falseServer zu Server; bei Hosting-Anbietern oft gesperrt

Zustellbarkeit​

  • Versenden Sie von einer Domain, die Sie kontrollieren, und veröffentlichen Sie dafür SPF-, DKIM- und DMARC-Einträge, wie es Ihr Mail-Anbieter beschreibt. Ohne sie landen Einladungen oft im Spam.
  • MAIL_FROM muss eine Adresse sein, unter der Ihr SMTP-Konto senden darf.
  • Links in E-Mails verwenden APP_URL. Stellen Sie also sicher, dass dies die öffentliche HTTPS-Adresse ist.

Zustellung und Wiederholungen​

E-Mails werden in eine Warteschlange gestellt und im Hintergrund versendet, mit erneuten Versuchen, wenn der SMTP-Server nicht erreichbar ist. Keine Aktion eines Benutzers wartet auf den Mailserver, und eine fehlgeschlagene E-Mail macht die Änderung, die sie ausgelöst hat, nie rückgängig. Fehler werden protokolliert (siehe Fehlerbehebung).

Ohne SMTP​

Mit MAIL_DRIVER=log (der Standard) werden Nachrichten nicht versendet: Betreff und Text, einschließlich der Links, werden ins App-Log geschrieben (docker compose logs app). Für einen ersten Test reicht das, aber niemand kann dann Einladungen empfangen oder sein Passwort zurücksetzen.

Benachrichtigungs-E-Mails​

Neben den E-Mails, die immer verschickt werden (Einladungen, Passwort-Zurücksetzungen, Sicherheitshinweise), erhalten Personen Zusammenfassungs-E-Mails zu Änderungen an ihren Aufgaben. Der instanzweite Schalter und der Zeitplan befinden sich unter Admin → Allgemein; jede Person kann sie in ihren eigenen Einstellungen abbestellen. Siehe Benachrichtigungen.