# 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: ```env # E-Mail / SMTP Konfiguration SMTP_HOST="smtp.beispiel.de" SMTP_PORT="587" SMTP_USER="noreply@savethemoment.photos" SMTP_PASS="IhrPasswort" SMTP_FROM="SaveTheMoment " ``` ## Empfohlene E-Mail-Provider ### 1. **Gmail** (für Tests / kleine Mengen) ```env 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 " ``` ⚠️ **Wichtig:** Verwenden Sie ein [App-spezifisches Passwort](https://myaccount.google.com/apppasswords), nicht Ihr normales Gmail-Passwort! ### 2. **Mailgun** (professionell, empfohlen) ```env 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 " ``` ### 3. **SendGrid** (professionell) ```env SMTP_HOST="smtp.sendgrid.net" SMTP_PORT="587" SMTP_USER="apikey" SMTP_PASS="IhrSendGridAPIKey" SMTP_FROM="SaveTheMoment " ``` ### 4. **Ihr eigener Hosting-Provider** Die meisten Hosting-Provider (z.B. Strato, 1&1, All-Inkl) bieten SMTP-Server: ```env SMTP_HOST="smtp.ihre-domain.de" SMTP_PORT="587" SMTP_USER="noreply@ihre-domain.de" SMTP_PASS="ihr-email-passwort" SMTP_FROM="SaveTheMoment " ``` ## Funktionen ### ✅ **Manueller Versand** 1. Buchung öffnen 2. "Vertrag generieren" klicken 3. "Vertrag per E-Mail senden" klicken 4. 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: ```bash # 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: ``` ## Fehlerbehandlung ### "SMTP not configured" - Überprüfen Sie, ob alle SMTP-Variablen in `.env` gesetzt 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: 1. Prüfen Sie die Server-Logs (Terminal) 2. Überprüfen Sie die SMTP-Konfiguration 3. Testen Sie mit einem anderen Provider