mirror of
https://git.hexahost.dev/smueller/HexaHost-Frontend.git
synced 2026-06-02 08:08:43 +00:00
199 lines
4.8 KiB
Markdown
199 lines
4.8 KiB
Markdown
# 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
|
|
|
|
```bash
|
|
cd public
|
|
composer install
|
|
```
|
|
|
|
### 2. SMTP-Konfiguration
|
|
|
|
Bearbeiten Sie die Datei `config/mail-config.php` und passen Sie die SMTP-Einstellungen an:
|
|
|
|
```php
|
|
// 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
|
|
```php
|
|
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
|
|
```php
|
|
define('SMTP_HOST', 'smtp-mail.outlook.com');
|
|
define('SMTP_PORT', 587);
|
|
define('SMTP_USERNAME', 'ihre-email@outlook.com');
|
|
define('SMTP_PASSWORD', 'ihr-passwort');
|
|
```
|
|
|
|
### GMX
|
|
```php
|
|
define('SMTP_HOST', 'mail.gmx.net');
|
|
define('SMTP_PORT', 587);
|
|
define('SMTP_USERNAME', 'ihre-email@gmx.de');
|
|
define('SMTP_PASSWORD', 'ihr-passwort');
|
|
```
|
|
|
|
### Web.de
|
|
```php
|
|
define('SMTP_HOST', 'smtp.web.de');
|
|
define('SMTP_PORT', 587);
|
|
define('SMTP_USERNAME', 'ihre-email@web.de');
|
|
define('SMTP_PASSWORD', 'ihr-passwort');
|
|
```
|
|
|
|
### 1&1
|
|
```php
|
|
define('SMTP_HOST', 'smtp.1und1.de');
|
|
define('SMTP_PORT', 587);
|
|
define('SMTP_USERNAME', 'ihre-email@ihre-domain.de');
|
|
define('SMTP_PASSWORD', 'ihr-passwort');
|
|
```
|
|
|
|
### Strato
|
|
```php
|
|
define('SMTP_HOST', 'smtp.strato.de');
|
|
define('SMTP_PORT', 587);
|
|
define('SMTP_USERNAME', 'ihre-email@ihre-domain.de');
|
|
define('SMTP_PASSWORD', 'ihr-passwort');
|
|
```
|
|
|
|
### Ionos
|
|
```php
|
|
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):
|
|
```php
|
|
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:
|
|
```php
|
|
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 |