Files
HexaHost-Web-Prod/public/README-EMAIL-SETUP.md

4.8 KiB

HexaHost.de E-Mail-Setup Anleitung

Übersicht

Das Kontaktformular ist jetzt vollständig funktional mit einem PHP-Backend und PHPMailer. Sie müssen nur noch Ihre SMTP-Daten konfigurieren.

Installation

1. Composer installieren

cd public
composer install

2. SMTP-Konfiguration

Bearbeiten Sie die Datei config/mail-config.php und passen Sie die SMTP-Einstellungen an:

// SMTP Server Einstellungen
define('SMTP_HOST', 'smtp.ihre-domain.de');        // Ihr SMTP-Server
define('SMTP_PORT', 587);                          // SMTP-Port (meist 587 oder 465)
define('SMTP_USERNAME', 'kontakt@ihre-domain.de'); // Ihr SMTP-Benutzername
define('SMTP_PASSWORD', 'ihr-smtp-passwort');      // Ihr SMTP-Passwort

// E-Mail Adressen
define('SMTP_FROM_EMAIL', 'kontakt@hexahost.de');  // Absender-E-Mail
define('SMTP_TO_EMAIL', 'info@hexahost.de');       // Empfänger-E-Mail

Gängige SMTP-Einstellungen

Gmail

define('SMTP_HOST', 'smtp.gmail.com');
define('SMTP_PORT', 587);
define('SMTP_USERNAME', 'ihre-email@gmail.com');
define('SMTP_PASSWORD', 'ihr-app-passwort'); // App-Passwort erforderlich

Outlook/Hotmail

define('SMTP_HOST', 'smtp-mail.outlook.com');
define('SMTP_PORT', 587);
define('SMTP_USERNAME', 'ihre-email@outlook.com');
define('SMTP_PASSWORD', 'ihr-passwort');

GMX

define('SMTP_HOST', 'mail.gmx.net');
define('SMTP_PORT', 587);
define('SMTP_USERNAME', 'ihre-email@gmx.de');
define('SMTP_PASSWORD', 'ihr-passwort');

Web.de

define('SMTP_HOST', 'smtp.web.de');
define('SMTP_PORT', 587);
define('SMTP_USERNAME', 'ihre-email@web.de');
define('SMTP_PASSWORD', 'ihr-passwort');

1&1

define('SMTP_HOST', 'smtp.1und1.de');
define('SMTP_PORT', 587);
define('SMTP_USERNAME', 'ihre-email@ihre-domain.de');
define('SMTP_PASSWORD', 'ihr-passwort');

Strato

define('SMTP_HOST', 'smtp.strato.de');
define('SMTP_PORT', 587);
define('SMTP_USERNAME', 'ihre-email@ihre-domain.de');
define('SMTP_PASSWORD', 'ihr-passwort');

Ionos

define('SMTP_HOST', 'smtp.ionos.de');
define('SMTP_PORT', 587);
define('SMTP_USERNAME', 'ihre-email@ihre-domain.de');
define('SMTP_PASSWORD', 'ihr-passwort');

Sicherheitsfeatures

Anti-Spam Headers

Das System sendet E-Mails mit folgenden Anti-Spam-Headers:

  • X-Mailer: Identifiziert das System
  • X-Priority: Normale Priorität
  • X-Report-Abuse: Abuse-Reporting
  • List-Unsubscribe: Unsubscribe-Link
  • Precedence: Bulk-Mail-Kennzeichnung

Spam-Schutz

  • Rate-Limiting: Max. 3 Anfragen pro 5 Minuten
  • Spam-Score-System: Erkennt verdächtige Nachrichten
  • Input-Validierung: Prüft alle Eingaben
  • CSRF-Schutz: Verhindert Cross-Site-Request-Forgery

Validierung

  • E-Mail-Format-Prüfung
  • Pflichtfeld-Validierung
  • Nachrichtenlänge (10-5000 Zeichen)
  • Verdächtige Wörter-Erkennung

E-Mail-Templates

An HexaHost (HTML)

  • Professionelles HTML-Template
  • Alle Formulardaten übersichtlich dargestellt
  • HexaHost Branding

Bestätigung an Kunde (HTML)

  • Danke-Nachricht
  • Bestätigung der Nachricht
  • Support-Informationen

Logging

E-Mails werden in logs/email.log protokolliert (falls aktiviert):

define('LOG_EMAILS', true);

Troubleshooting

Häufige Probleme

  1. "SMTP connect() failed"

    • Prüfen Sie SMTP_HOST und SMTP_PORT
    • Stellen Sie sicher, dass SMTP aktiviert ist
  2. "Authentication failed"

    • Prüfen Sie SMTP_USERNAME und SMTP_PASSWORD
    • Bei Gmail: App-Passwort verwenden
  3. "Connection refused"

    • Firewall-Einstellungen prüfen
    • Port 587 oder 465 verwenden
  4. E-Mails landen im Spam

    • SPF, DKIM und DMARC konfigurieren
    • Absender-Domain mit SMTP-Domain übereinstimmend

Debug-Modus

Aktivieren Sie den Debug-Modus für detaillierte Fehlermeldungen:

define('DEBUG_MODE', true);

Dateistruktur

public/
├── contact-handler.php      # E-Mail-Verarbeitung
├── config/
│   └── mail-config.php     # SMTP-Konfiguration
├── vendor/                 # Composer-Abhängigkeiten
├── logs/                   # E-Mail-Logs
└── composer.json           # Composer-Konfiguration

Sicherheitshinweise

  1. SMTP-Passwort schützen

    • Datei config/mail-config.php nicht öffentlich zugänglich machen
    • Passwort regelmäßig ändern
  2. HTTPS verwenden

    • Kontaktformular nur über HTTPS bereitstellen
    • SSL-Zertifikat installieren
  3. Backup erstellen

    • Regelmäßige Backups der Konfiguration
    • E-Mail-Logs sichern

Support

Bei Problemen:

  1. Debug-Modus aktivieren
  2. E-Mail-Logs prüfen
  3. SMTP-Einstellungen testen
  4. Firewall-Einstellungen überprüfen

Changelog

  • v1.0: Vollständige E-Mail-Implementierung
  • Anti-Spam-Headers
  • Rate-Limiting
  • CSRF-Schutz
  • HTML-Templates
  • Logging-System