Bootstrap-Website komplett: Parallax Hero, Logo, PHPMailer, responsive Banner-Bilder und neue Baumaschinen (CAT 906, Volvo ZL 302)
This commit is contained in:
257
PHPMAILER-ANLEITUNG.md
Normal file
257
PHPMAILER-ANLEITUNG.md
Normal file
@@ -0,0 +1,257 @@
|
||||
# 📧 PHPMailer Einrichtungsanleitung
|
||||
|
||||
Diese Anleitung erklärt, wie Sie das Kontaktformular mit PHPMailer auf Ihrem Webserver einrichten.
|
||||
|
||||
## ✅ Was wurde installiert
|
||||
|
||||
```
|
||||
webseite/
|
||||
├── config.php # E-Mail-Konfiguration (WICHTIG: Anpassen!)
|
||||
├── send-mail.php # Mail-Versand-Script
|
||||
├── .htaccess # Schutz der Konfiguration
|
||||
└── phpmailer/ # PHPMailer Bibliothek
|
||||
├── PHPMailer.php
|
||||
├── SMTP.php
|
||||
└── Exception.php
|
||||
```
|
||||
|
||||
## 🔧 Schritt 1: Konfiguration anpassen
|
||||
|
||||
Öffnen Sie `config.php` und passen Sie folgende Einstellungen an:
|
||||
|
||||
### E-Mail Grundeinstellungen
|
||||
|
||||
```php
|
||||
define('MAIL_TO', 'baumer@traidendorf.de'); // IHR POSTFACH
|
||||
define('MAIL_FROM', 'noreply@ihre-domain.de'); // Absender-Adresse
|
||||
```
|
||||
|
||||
### Option A: Standard PHP mail() Funktion (Einfachste Lösung)
|
||||
|
||||
Die meisten Webhosting-Anbieter unterstützen die `mail()` Funktion direkt:
|
||||
|
||||
```php
|
||||
define('USE_SMTP', false); // So belassen
|
||||
```
|
||||
|
||||
**Vorteile:**
|
||||
- ✅ Keine zusätzliche Konfiguration nötig
|
||||
- ✅ Funktioniert bei den meisten Hostern out-of-the-box
|
||||
|
||||
**Nachteile:**
|
||||
- ⚠️ E-Mails landen manchmal im Spam
|
||||
- ⚠️ Nicht alle Hoster erlauben mail()
|
||||
|
||||
**Geeignet für:** Strato, 1&1, All-Inkl, Host Europe, etc.
|
||||
|
||||
### Option B: SMTP (Zuverlässigste Lösung)
|
||||
|
||||
Für professionellen Versand mit SMTP:
|
||||
|
||||
```php
|
||||
define('USE_SMTP', true);
|
||||
define('SMTP_HOST', 'smtp.ihre-domain.de'); // SMTP-Server
|
||||
define('SMTP_PORT', 587); // 587 für TLS, 465 für SSL
|
||||
define('SMTP_SECURE', 'tls'); // 'tls' oder 'ssl'
|
||||
define('SMTP_USERNAME', 'ihre-email@ihre-domain.de');
|
||||
define('SMTP_PASSWORD', 'ihr-sicheres-passwort');
|
||||
```
|
||||
|
||||
**Vorteile:**
|
||||
- ✅ Zuverlässigster Versand
|
||||
- ✅ Bessere Spam-Bewertung
|
||||
- ✅ Authentifizierung
|
||||
|
||||
**SMTP-Einstellungen für beliebte Hoster:**
|
||||
|
||||
#### Strato
|
||||
```php
|
||||
define('SMTP_HOST', 'smtp.strato.de');
|
||||
define('SMTP_PORT', 587);
|
||||
define('SMTP_SECURE', 'tls');
|
||||
define('SMTP_USERNAME', 'ihre-email@ihre-domain.de');
|
||||
```
|
||||
|
||||
#### 1&1 / IONOS
|
||||
```php
|
||||
define('SMTP_HOST', 'smtp.ionos.de');
|
||||
define('SMTP_PORT', 587);
|
||||
define('SMTP_SECURE', 'tls');
|
||||
define('SMTP_USERNAME', 'ihre-email@ihre-domain.de');
|
||||
```
|
||||
|
||||
#### All-Inkl
|
||||
```php
|
||||
define('SMTP_HOST', 'ihr-servername.kasserver.com');
|
||||
define('SMTP_PORT', 587);
|
||||
define('SMTP_SECURE', 'tls');
|
||||
define('SMTP_USERNAME', 'ihre-email@ihre-domain.de');
|
||||
```
|
||||
|
||||
#### Gmail (für Tests)
|
||||
```php
|
||||
define('SMTP_HOST', 'smtp.gmail.com');
|
||||
define('SMTP_PORT', 587);
|
||||
define('SMTP_SECURE', 'tls');
|
||||
define('SMTP_USERNAME', 'ihre-gmail@gmail.com');
|
||||
define('SMTP_PASSWORD', 'app-spezifisches-passwort'); // Nicht Ihr normales Passwort!
|
||||
```
|
||||
⚠️ Bei Gmail: [App-spezifisches Passwort erstellen](https://support.google.com/accounts/answer/185833)
|
||||
|
||||
## 🚀 Schritt 2: Auf Webserver hochladen
|
||||
|
||||
Laden Sie alle Dateien per FTP auf Ihren Webserver:
|
||||
|
||||
```
|
||||
/public_html/ (oder /htdocs/, /www/)
|
||||
├── index.html
|
||||
├── kontakt.html
|
||||
├── config.php ← WICHTIG: Passwort hier drin!
|
||||
├── send-mail.php
|
||||
├── .htaccess
|
||||
├── phpmailer/
|
||||
├── css/
|
||||
├── js/
|
||||
└── ...
|
||||
```
|
||||
|
||||
## 🧪 Schritt 3: Testen
|
||||
|
||||
1. Öffnen Sie Ihre Website im Browser
|
||||
2. Gehen Sie zur Kontaktseite
|
||||
3. Füllen Sie das Formular aus
|
||||
4. Senden Sie eine Test-Nachricht
|
||||
5. Prüfen Sie Ihr Postfach (auch Spam-Ordner!)
|
||||
|
||||
### Fehlerbehebung
|
||||
|
||||
#### E-Mail kommt nicht an
|
||||
|
||||
**Lösung 1: Logfile prüfen**
|
||||
- Schauen Sie im `error_log` Ihres Webservers
|
||||
- Meist zu finden im Root-Verzeichnis oder `/logs/`
|
||||
|
||||
**Lösung 2: SMTP statt mail() verwenden**
|
||||
- Setzen Sie `USE_SMTP` auf `true` in der `config.php`
|
||||
- Konfigurieren Sie die SMTP-Einstellungen
|
||||
|
||||
**Lösung 3: PHP mail() aktivieren**
|
||||
- Kontaktieren Sie Ihren Hoster
|
||||
- Fragen Sie, ob die `mail()` Funktion aktiviert ist
|
||||
|
||||
#### E-Mails landen im Spam
|
||||
|
||||
**Lösung:**
|
||||
- Verwenden Sie SMTP statt mail()
|
||||
- Stellen Sie sicher, dass `MAIL_FROM` eine echte E-Mail Ihrer Domain ist
|
||||
- Richten Sie SPF/DKIM Records ein (bei Ihrem Hoster)
|
||||
|
||||
#### Fehler "Could not instantiate mail function"
|
||||
|
||||
**Lösung:**
|
||||
- Die PHP `mail()` Funktion ist deaktiviert
|
||||
- Wechseln Sie zu SMTP (`USE_SMTP = true`)
|
||||
|
||||
#### Fehler "SMTP connect() failed"
|
||||
|
||||
**Lösung:**
|
||||
- SMTP-Host falsch → Prüfen Sie bei Ihrem Hoster
|
||||
- Port falsch → Meist 587 (TLS) oder 465 (SSL)
|
||||
- Benutzername/Passwort falsch
|
||||
- Firewall blockiert → Kontaktieren Sie Ihren Hoster
|
||||
|
||||
## 🔒 Sicherheit
|
||||
|
||||
### WICHTIG: Schützen Sie config.php!
|
||||
|
||||
Die `.htaccess` Datei schützt bereits Ihre `config.php`. Überprüfen Sie:
|
||||
|
||||
```bash
|
||||
# Test: Diese URL sollte NICHT funktionieren:
|
||||
https://ihre-domain.de/config.php
|
||||
```
|
||||
|
||||
Sie sollten einen "403 Forbidden" Fehler sehen.
|
||||
|
||||
### Weitere Sicherheitsmaßnahmen
|
||||
|
||||
1. **Sichere Passwörter verwenden**
|
||||
- Mindestens 16 Zeichen
|
||||
- Groß-/Kleinbuchstaben, Zahlen, Sonderzeichen
|
||||
|
||||
2. **SSL/HTTPS verwenden**
|
||||
- Ihr Hoster sollte ein kostenloses Let's Encrypt Zertifikat anbieten
|
||||
|
||||
3. **Rate Limiting ist bereits aktiv**
|
||||
- Maximal 1 E-Mail pro Minute pro IP-Adresse
|
||||
- Schutz gegen Spam-Bots
|
||||
|
||||
4. **Honeypot ist bereits integriert**
|
||||
- Verstecktes Feld zum Spam-Schutz
|
||||
|
||||
## 📊 Features des Kontaktformulars
|
||||
|
||||
✅ **Spam-Schutz**
|
||||
- Honeypot-Feld (verstecktes Feld für Bots)
|
||||
- Rate Limiting (max. 1 Mail pro Minute)
|
||||
- Eingabe-Validierung
|
||||
|
||||
✅ **Benutzerfreundlich**
|
||||
- Erfolgs-/Fehlermeldungen
|
||||
- Formular-Vorausfüllung (Maschine aus Link)
|
||||
- Loading-Animation beim Absenden
|
||||
|
||||
✅ **Professionell**
|
||||
- HTML-E-Mails mit Styling
|
||||
- Plain-Text Fallback
|
||||
- IP-Adresse und Zeitstempel in E-Mail
|
||||
|
||||
✅ **Datenschutz**
|
||||
- Keine Daten werden extern gespeichert
|
||||
- Alles auf Ihrem Server
|
||||
- DSGVO-konform
|
||||
|
||||
## 🎯 Anpassungen
|
||||
|
||||
### E-Mail-Design ändern
|
||||
|
||||
Bearbeiten Sie in `send-mail.php` den HTML-Code ab Zeile ~95:
|
||||
|
||||
```php
|
||||
$mailBody = '
|
||||
<html>
|
||||
<!-- Hier können Sie das Design anpassen -->
|
||||
</html>
|
||||
';
|
||||
```
|
||||
|
||||
### Weiterleitungs-URLs ändern
|
||||
|
||||
In `config.php`:
|
||||
|
||||
```php
|
||||
define('SUCCESS_URL', 'kontakt.html?success=1');
|
||||
define('ERROR_URL', 'kontakt.html?error=1');
|
||||
```
|
||||
|
||||
### Zusätzliche Formularfelder
|
||||
|
||||
1. Feld in `kontakt.html` hinzufügen
|
||||
2. Feld in `send-mail.php` validieren und einbinden
|
||||
3. E-Mail-Template in `send-mail.php` anpassen
|
||||
|
||||
## 📞 Support
|
||||
|
||||
**Bei technischen Problemen:**
|
||||
1. Prüfen Sie das `error_log` auf Ihrem Server
|
||||
2. Kontaktieren Sie Ihren Webhoster für SMTP-Einstellungen
|
||||
3. Testen Sie zunächst mit `USE_SMTP = false` (mail() Funktion)
|
||||
|
||||
**Hoster-Support fragen nach:**
|
||||
- "PHP mail() Funktion aktiviert?"
|
||||
- "SMTP-Server Zugangsdaten für E-Mail-Versand"
|
||||
- "Welcher Port für SMTP? (587 oder 465)"
|
||||
|
||||
---
|
||||
|
||||
**Viel Erfolg! 🚀**
|
||||
Reference in New Issue
Block a user