# Kontaktformular API (minimal) ## Endpoint * Methode: POST * Pfad: /api/contact * Payload: JSON Empfohlene Felder: * name (string, required) * email (string, required) * company (string, optional) * message (string, required) * website (string, optional, Honeypot Feld, muss leer bleiben) ## Validierung * name: min 2 Zeichen, max 100 * email: simple RFC-validierung (pragmatisch) * message: min 20 Zeichen, max z.B. 4000 * honeypot: muss leer sein ## Anti-Spam / Abuse Minimal und wirksam: * Rate Limit pro IP (z.B. 5 Requests pro 10 Minuten) * Logging nur technisch, keine Volltexte im Log (Datenschutz) * Generic Error Responses Optional (V2): CAPTCHA nur, wenn Spam real auftritt. ## SMTP Versand Nodemailer mit SMTP Settings. Empfohlene Env Vars: * SMTP_HOST * SMTP_PORT * SMTP_USER * SMTP_PASS * SMTP_FROM * CONTACT_RECIPIENT E-Mail Inhalt: * Subject: Kontaktanfrage von name * Reply-To: email * Body: Name, Firma, E-Mail, Nachricht, Zeitpunkt, IP anonymisiert (optional) ## Responses * 200: Ok (immer gleiche Success Message) * 400: Validation Fehler (für UI nutzbar) * 429: Rate Limit * 500: SMTP/Server Fehler (generic)