' . htmlspecialchars($text) . '
'; exit; } if ($_SERVER['REQUEST_METHOD'] !== 'POST') seite('Ungültiger Aufruf', 'Bitte nutzen Sie das Formular.', 405); if (!empty($_POST['website'])) seite('Danke', 'Ihre Anfrage wurde übermittelt.'); // Spam-Falle if (empty($_POST['datenschutz'])) seite('Einwilligung fehlt', 'Bitte stimmen Sie der Datenschutzerklärung zu.', 400); $email = filter_var(trim($_POST['email'] ?? ''), FILTER_VALIDATE_EMAIL); if (!$email) seite('E-Mail-Adresse ungültig', 'Bitte prüfen Sie Ihre E-Mail-Adresse.', 400); // Nachrichtentext aus allen Feldern $body = "Neue Versicherungsanfrage\n=========================\n\n"; foreach ($_POST as $key => $val) { if ($key === 'website' || $key === 'datenschutz') continue; if (is_array($val)) $val = implode(', ', $val); $val = trim(strip_tags((string)$val)); if ($val === '') continue; $body .= str_replace('_', ' ', $key) . ': ' . $val . "\n"; } $body .= "\nDatenschutz: Einwilligung erteilt\nZeitpunkt: " . date('d.m.Y H:i') . "\n"; // Anhänge (Fahrzeugscheine): max. 8 MB je Datei, nur Bilder und PDF $erlaubt = ['jpg', 'jpeg', 'png', 'heic', 'webp', 'pdf']; $anhaenge = []; foreach ($_FILES as $feld => $f) { if ($f['error'] === UPLOAD_ERR_NO_FILE) continue; if ($f['error'] !== UPLOAD_ERR_OK || $f['size'] > 8 * 1024 * 1024) { seite('Datei zu groß', 'Bitte laden Sie Dateien bis maximal 8 MB hoch.', 400); } $ext = strtolower(pathinfo($f['name'], PATHINFO_EXTENSION)); if (!in_array($ext, $erlaubt, true)) seite('Dateityp nicht erlaubt', 'Erlaubt sind Fotos (JPG, PNG, HEIC) und PDF.', 400); $anhaenge[] = [$feld . '.' . $ext, file_get_contents($f['tmp_name'])]; } // E-Mail zusammensetzen $name = preg_replace('/[\r\n]+/', ' ', $_POST['name'] ?? 'Kunde'); $subject = mb_encode_mimeheader('Versicherungsanfrage von ' . $name, 'UTF-8'); $grenze = md5(uniqid('', true)); $host = preg_replace('/^www\./', '', $_SERVER['HTTP_HOST'] ?? 'absicherungskonzepte.de'); $header = "From: Anfrageformular