# Mailversand im Produktivbetrieb Stand: 2026-07-15 Der Mailversand läuft über `app/saas-mail.php` und nutzt bewusst **keinen** fest codierten SMTP-Client. Alle Versandwege der App (Passwort-Reset, E-Mail-Verifikation, Einladungen, Info-Mails, Jahresabschluss) laufen über `saas_send_mail()`. ## Wie der Versand funktioniert - Im Dev-Modus (`APP_ENV=dev`) schreibt `saas_send_mail()` jede Mail nur als Datei nach `var/mail` (`APP_MAIL_TRANSPORT=log`), es wird nichts wirklich verschickt. - Außerhalb des Dev-Modus verschickt `saas_send_mail()` standardmäßig über PHPs eingebaute `mail()`-Funktion (`APP_MAIL_TRANSPORT=mail`). `mail()` übergibt die Nachricht an den lokalen Mail-Transport-Agent des Servers, auf dem PHP läuft (typischerweise `sendmail`), **nicht** an einen externen SMTP-Relay. ## Warum das für Webspace-Hosting passt Läuft die App auf dem eigenen Webspace, geht die Mail damit automatisch über den Mailserver des Webspace-Anbieters raus. Bei den meisten Webspace-Anbietern ist genau dieser Mailserver bereits für die gehosteten Domains autorisiert (passender SPF-Eintrag, korrektes rDNS), sodass Mails im Namen der eigenen Domain ohne zusätzliche SMTP-Konfiguration zuverlässig zugestellt werden. Ein externer SMTP-Provider ist für den Start nicht nötig. ## Produktiv zu setzende Umgebungsvariablen ```bash export APP_ENV="prod" # APP_MAIL_TRANSPORT kann entfallen, "mail" ist der Standard sobald # APP_ENV nicht "dev" ist. Explizit setzen schadet aber nicht: export APP_MAIL_TRANSPORT="mail" # Wichtig: echte Absenderadresse auf der eigenen Domain, sonst ist SPF- # Alignment beim Empfänger nicht gegeben, selbst wenn der Server senden # darf. Der Code-Default "noreply@kaffeeliste.local" ist nur ein # Platzhalter und darf produktiv nicht stehen bleiben. export APP_MAIL_FROM="noreply@kaffeeliste.de" export APP_MAIL_FROM_NAME="Kaffeeliste" # Für korrekte Links in Mails (Passwort-Reset, Einladungen, Dashboard-Link): export APP_BASE_URL="https://app.kaffeeliste.de" ``` ## Später möglich, aktuell nicht nötig Eine dedizierte SMTP-/Provider-Anbindung (z. B. über einen Transaktionsmail-Dienst mit Bounce- und Zustellprotokoll) war in `docs/m3-saas-basis-vorbereitung.md` als möglicher späterer Ausbau vorgesehen. Das bleibt sinnvoll, sobald Zustellrate, Bounce-Handling oder Versandvolumen eine eigene Überwachung brauchen – für den Start reicht der Versand über den ohnehin bereits autorisierten Webspace-Mailserver.