Zum Hauptinhalt springen

E-Mail / SMTP-Einrichtung

FeedbackPulse versendet verschiedene Transaktions-E-Mails. Eine korrekte E-Mail-Konfiguration ist wichtig für:

  • Willkommens-E-Mails an neue Mandanten
  • Team-Einladungslinks
  • E-Mails zum Zurücksetzen des Passworts
  • E-Mail-OTP-Verifizierung (für Feedback-Formulare)
  • Täglich/wöchentlich Digests
  • Geplante Berichte
  • Nutzungswarnungen
  • Benachrichtigungen bei Planänderungen

Konfigurationsmethoden

Methode 1: Über das Admin-Panel (empfohlen)

  1. Melden Sie sich als Superadmin an
  2. Navigieren Sie zu Admin → Einstellungen → E-Mail
  3. Füllen Sie Ihre SMTP-Daten aus
  4. Klicken Sie auf Test-E-Mail senden zur Überprüfung
  5. Speichern

Methode 2: Über die .env-Datei

MAIL_MAILER=smtp
MAIL_HOST=smtp.mailgun.org
MAIL_PORT=587
MAIL_USERNAME=your_username
MAIL_PASSWORD=your_password
MAIL_ENCRYPTION=tls
[email protected]
MAIL_FROM_NAME="FeedbackPulse"

Anbieterspezifische Einrichtung

Gmail

MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
[email protected]
MAIL_PASSWORD=your_app_password
MAIL_ENCRYPTION=tls

⚠️ Wichtig: Gmail erfordert ein App-Passwort, nicht Ihr reguläres Passwort.

  1. Navigieren Sie zu Google-Konto-Sicherheit
  2. Bestätigung in zwei Schritten aktivieren (erforderlich)
  3. Navigieren Sie zu App-Passwörter → „Mail" auswählen → generieren
  4. Das generierte 16-stellige Passwort verwenden

🔴 Gmail-Limits: 500 E-Mails/Tag (privat) oder 2.000/Tag (Workspace). Nicht für Produktions-SaaS empfohlen.

Mailgun

MAIL_HOST=smtp.mailgun.org
MAIL_PORT=587
[email protected]
MAIL_PASSWORD=your_mailgun_smtp_password
MAIL_ENCRYPTION=tls
  1. Registrieren Sie sich bei Mailgun
  2. Domain hinzufügen → DNS-Einträge verifizieren
  3. Navigieren Sie zu Sending → Domain Settings → SMTP credentials
  4. SMTP-Passwort kopieren

Amazon SES

MAIL_HOST=email-smtp.us-east-1.amazonaws.com
MAIL_PORT=587
MAIL_USERNAME=your_ses_smtp_username
MAIL_PASSWORD=your_ses_smtp_password
MAIL_ENCRYPTION=tls
  1. Navigieren Sie zur AWS SES Console
  2. Ihre Domain verifizieren
  3. Navigieren Sie zu SMTP Settings → Create SMTP Credentials
  4. Für Produktion aus dem Sandbox-Modus wechseln

SendGrid

MAIL_HOST=smtp.sendgrid.net
MAIL_PORT=587
MAIL_USERNAME=apikey
MAIL_PASSWORD=your_sendgrid_api_key
MAIL_ENCRYPTION=tls

💡 Hinweis: Der Benutzername ist buchstäblich apikey (nicht Ihre E-Mail). Das Passwort ist Ihr SendGrid-API-Schlüssel.

Postmark

MAIL_HOST=smtp.postmarkapp.com
MAIL_PORT=587
MAIL_USERNAME=your_postmark_server_api_token
MAIL_PASSWORD=your_postmark_server_api_token
MAIL_ENCRYPTION=tls

ZOHO Mail

MAIL_HOST=smtp.zoho.com
MAIL_PORT=587
[email protected]
MAIL_PASSWORD=your_zoho_password
MAIL_ENCRYPTION=tls

Mailtrap (nur zum Testen!)

MAIL_HOST=sandbox.smtp.mailtrap.io
MAIL_PORT=587
MAIL_USERNAME=your_mailtrap_username
MAIL_PASSWORD=your_mailtrap_password
MAIL_ENCRYPTION=tls

⚠️ Mailtrap ist nur für Entwicklung/Tests. E-Mails werden in Ihrem Mailtrap-Posteingang erfasst und nie an echte Empfänger zugestellt.


E-Mail testen

Über das Admin-Panel

  1. Navigieren Sie zu Admin → Einstellungen → E-Mail
  2. Klicken Sie auf Test-E-Mail senden
  3. Posteingang überprüfen

Über die Befehlszeile

php artisan tinker
Mail::raw('Test email from FeedbackPulse', function ($message) {
$message->to('[email protected]')->subject('SMTP Test');
});

Von FeedbackPulse versendete E-Mails

E-MailWannEmpfänger
WillkommenNeuer Mandant registriert sichMandanten-Admin
Team-EinladungAdmin lädt Teammitglied einEingeladene E-Mail
Plan geändertAbonnement ändert sichMandanten-Admin
Neue EinreichungsbenachrichtigungNeues Feedback eingegangenMandanten-Admin/Staff
E-Mail-DigestTäglich/wöchentlicher ZeitplanMandanten-Admin
Geplanter BerichtTäglich/wöchentlich/monatlichMandanten-Admin
Nutzungswarnung90%+ des Plan-LimitsMandanten-Admin
Passwort zurücksetzenBenutzer fordert Reset anAnfragender Benutzer
E-Mail-VerifizierungNeue RegistrierungNeuer Benutzer
OTP-CodeFeedback-Formular mit OTPEndbenutzer, der Feedback einreicht

Fehlerbehebung E-Mail

ProblemLösung
E-Mails werden nicht gesendet.env-SMTP-Einstellungen prüfen. MAIL_MAILER=log zum Testen ohne SMTP verwenden. storage/logs/laravel.log überprüfen.
E-Mails landen im SpamSPF-, DKIM- und DMARC-Einträge zur DNS Ihrer Domain hinzufügen. Seriösen SMTP-Anbieter verwenden.
„Connection timed out"Port 587/465 könnte von Ihrem Hosting-Anbieter blockiert sein. Anderen Port oder Anbieter versuchen.
Gmail-Fehler „Unsichere Apps"App-Passwort stattdessen verwenden. Siehe Gmail-Abschnitt oben.
E-Mails verzögertBei Verwendung von QUEUE_CONNECTION=database sicherstellen, dass der Queue-Worker läuft.

Nächste Schritte