Files
Atlas/EMAIL-SETUP.md
2025-11-12 20:21:32 +01:00

152 lines
4.0 KiB
Markdown

# 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 <noreply@savethemoment.photos>"
```
## 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 <ihre-email@gmail.com>"
```
⚠️ **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 <noreply@savethemoment.photos>"
```
### 3. **SendGrid** (professionell)
```env
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:
```env
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**
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: <message-id>
```
## 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