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

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

  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:

# 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