152 lines
4.0 KiB
Markdown
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
|