4.0 KiB
4.0 KiB
E-Mail-Service Einrichtung
Übersicht
Der E-Mail-Service ermöglicht den automatischen Versand von:
- ✉️ Verträgen an Kunden (mit PDF-Anhang + Signatur-Link)
- ✉️ Buchungsbestätigungen
- ✉️ Status-Benachrichtigungen
SMTP-Konfiguration
Fügen Sie folgende Variablen in Ihre .env Datei ein:
# E-Mail / SMTP Konfiguration
SMTP_HOST="smtp.beispiel.de"
SMTP_PORT="587"
SMTP_USER="noreply@savethemoment.photos"
SMTP_PASS="IhrPasswort"
SMTP_FROM="SaveTheMoment <noreply@savethemoment.photos>"
Empfohlene E-Mail-Provider
1. Gmail (für Tests / kleine Mengen)
SMTP_HOST="smtp.gmail.com"
SMTP_PORT="587"
SMTP_USER="ihre-email@gmail.com"
SMTP_PASS="app-spezifisches-passwort" # https://myaccount.google.com/apppasswords
SMTP_FROM="SaveTheMoment <ihre-email@gmail.com>"
⚠️ Wichtig: Verwenden Sie ein App-spezifisches Passwort, nicht Ihr normales Gmail-Passwort!
2. Mailgun (professionell, empfohlen)
SMTP_HOST="smtp.eu.mailgun.org"
SMTP_PORT="587"
SMTP_USER="postmaster@ihre-domain.mailgun.org"
SMTP_PASS="ihr-mailgun-smtp-passwort"
SMTP_FROM="SaveTheMoment <noreply@savethemoment.photos>"
3. SendGrid (professionell)
SMTP_HOST="smtp.sendgrid.net"
SMTP_PORT="587"
SMTP_USER="apikey"
SMTP_PASS="IhrSendGridAPIKey"
SMTP_FROM="SaveTheMoment <noreply@savethemoment.photos>"
4. Ihr eigener Hosting-Provider
Die meisten Hosting-Provider (z.B. Strato, 1&1, All-Inkl) bieten SMTP-Server:
SMTP_HOST="smtp.ihre-domain.de"
SMTP_PORT="587"
SMTP_USER="noreply@ihre-domain.de"
SMTP_PASS="ihr-email-passwort"
SMTP_FROM="SaveTheMoment <noreply@ihre-domain.de>"
Funktionen
✅ Manueller Versand
- Buchung öffnen
- "Vertrag generieren" klicken
- "Vertrag per E-Mail senden" klicken
- E-Mail wird an Kunden gesendet mit:
- PDF-Anhang
- Link zur Online-Signatur
- Buchungsdetails
✅ Automatischer Versand (TODO)
- Bei Status-Änderung zu "CONFIRMED" → Vertrag automatisch senden
- Bei Stornierung → Benachrichtigung senden
E-Mail-Templates
Die E-Mail-Templates sind in /lib/email-service.ts definiert und umfassen:
📄 Vertrag-E-Mail
- Professionelles HTML-Design mit SaveTheMoment Branding
- PDF-Anhang mit Mietvertrag
- Online-Signatur-Link
- Buchungsdetails
✅ Bestätigungs-E-Mail
- Buchungsbestätigung nach erfolgreicher Reservierung
- Zusammenfassung der Buchungsdetails
Test
Nach der Konfiguration können Sie testen:
# Server neu starten
npm run dev
# Dann im Dashboard:
# 1. Buchung öffnen
# 2. "Vertrag generieren" klicken
# 3. "Vertrag per E-Mail senden" klicken
Die Konsole zeigt:
✅ SMTP transporter initialized
✅ Email sent: <message-id>
Fehlerbehandlung
"SMTP not configured"
- Überprüfen Sie, ob alle SMTP-Variablen in
.envgesetzt sind - Server neu starten nach Änderungen in
.env
"Authentication failed"
- Prüfen Sie Benutzername und Passwort
- Bei Gmail: App-spezifisches Passwort verwenden
- Bei 2FA: Spezielle App-Passwörter erforderlich
"Connection timeout"
- Prüfen Sie SMTP_HOST und SMTP_PORT
- Firewall-Einstellungen überprüfen
- Port 587 (STARTTLS) oder 465 (SSL) verwenden
Sicherheit
✅ Empfehlungen:
- Verwenden Sie dedizierte E-Mail-Adressen (z.B.
noreply@ihre-domain.de) - Speichern Sie SMTP-Passwörter niemals im Git-Repository
- Verwenden Sie starke Passwörter
- Aktivieren Sie SPF, DKIM und DMARC für Ihre Domain
Kosten
| Provider | Kosten | Empfehlung |
|---|---|---|
| Gmail | Kostenlos (bis 500/Tag) | ✅ Gut für Tests |
| Mailgun | Ab 0€ (1.000 E-Mails/Monat gratis) | ✅ Empfohlen für Produktion |
| SendGrid | Ab 0€ (100 E-Mails/Tag gratis) | ✅ Gut für kleine Projekte |
| Hosting-Provider | Meist inkludiert | ✅ Wenn bereits vorhanden |
Support
Bei Fragen oder Problemen:
- Prüfen Sie die Server-Logs (Terminal)
- Überprüfen Sie die SMTP-Konfiguration
- Testen Sie mit einem anderen Provider