Contact Forms

Kontaktformular-Builder: Formulare in Seiten einbetten, jede Einsendung speichern und E-Mails über den Anbieter der Website versenden.

Erweiterung

Contact Forms

Kontaktformular-Builder: Formulare in Seiten einbetten, jede Einsendung speichern und E-Mails über den Anbieter der Website versenden.

  • Kategorie: forms
  • Status: Verfügbar
  • Version: 1.1.2
  • Preis: Unbekannt
  • Quelle: Offizielles Plugin-Register
  • Installation: Sandbox-Plugin aus dem Register
  • Geprüft: 2026-10-21

Beschreibung

Erstellen Sie im Admin ein Kontaktformular, platzieren Sie es per Block auf einer beliebigen Seite und lesen Sie jede Einsendung im integrierten Posteingang. Benachrichtigungs-E-Mails laufen über den Anbieter, den Ihre Website bereits nutzt — das Plugin spricht nie selbst mit einem E-Mail-Dienst.

Live-Demo: emdashhq.com/contact — ein funktionierendes Formular, das dieses Plugin auf einer produktiven EmDash-Website darstellt.

Was Sie bekommen

  • Formulare — Formulare erstellen und bearbeiten, Felder verwalten (text, email, tel, url, number, textarea, select, checkbox), neu anordnen, ein Formular aktivieren oder deaktivieren, ohne es zu löschen.
  • Posteingang für Einsendungen — jeder Eintrag wird in der Datenbank Ihrer Website gespeichert, samt der Seite, von der er stammt; nach Formular, Status oder E-Mail-Ergebnis filtern; als gelesen markieren oder archivieren; die Benachrichtigung erneut senden; als CSV kopieren.
  • E-Mail-Protokoll — jeder Sendeversuch mit Status, Dauer und der Fehlermeldung des Anbieters, damit ein Zustellfehler diagnostizierbar ist, statt unbemerkt zu bleiben.
  • Dashboard-Widget — Anzahl ungelesener Einsendungen, aktive Formulare und die neuesten Einsendungen.
  • Spamschutz — verstecktes Honeypot-Feld, Mindestausfüllzeit-Falle und ein stündliches Limit pro IP sind standardmäßig aktiv; optional Cloudflare Turnstile, wenn passive Fallen nicht ausreichen.
  • Aufbewahrung — Einsendungen und Protokolleinträge, die älter als eine bestimmte Anzahl von Tagen sind, optional löschen.

Die Adresse Ihres Besuchers erscheint nie in der öffentlichen Formulardefinition, und der Empfänger eines Formulars steht ausschließlich im Admin.

Installation

Installation und erstes Formular

  1. Öffnen Sie in Ihrem EmDash-Admin Registry, suchen Sie nach Contact Forms und klicken Sie auf Install. Das Plugin bittet darum, E-Mails über den Anbieter Ihrer Website zu senden und challenges.cloudflare.com zu kontaktieren — dieser Host wird nur verwendet, wenn Sie Turnstile aktivieren.
  2. Öffnen Sie Plugins → Contact forms → Settings und legen Sie die Standard-Benachrichtigungsadresse fest. Dorthin gehen die Einsendungen, wenn ein Formular sie nicht überschreibt.
  3. Öffnen Sie Forms → New form. Geben Sie ihm einen Namen, einen Slug wie contact und fügen Sie Felder hinzu. Jedes Formular kann den Empfänger, die Betreffvorlage, die Beschriftung der Schaltfläche und die Erfolgsmeldung überschreiben.
  4. Platzieren Sie das Formular mit dem Block Contact form auf einer Seite und geben Sie den Slug ein. Wenn Ihr Theme den Block noch nicht mitbringt, enthält das Verzeichnis site/ des Pakets die beiden zu kopierenden Dateien — block-type.json für den Seed und ContactForm.astro für die Darstellung; die README führt Sie durch die Schritte.
  5. Aktivieren Sie unter Settings → Email einen Anbieter und senden Sie eine Test-E-Mail. Ohne Anbieter werden Einsendungen trotzdem gespeichert — sie werden nur nicht per E-Mail versendet, und das E-Mail-Protokoll zeigt, warum.

Einsendungen erscheinen unter Plugins → Contact forms → Submissions und im Dashboard-Widget, sobald der erste Besucher schreibt.

FAQ

Wohin gehen die Einsendungen?

In die eigene Datenbank Ihrer Website, unter Plugins → Contact forms → Submissions. Es wird nichts an Dritte gesendet — die einzigen ausgehenden Aufrufe sind die Benachrichtigungs-E-Mail über Ihren Anbieter und, falls aktiviert, die Turnstile-Prüfung.

Versendet es E-Mails, ohne dass ein Anbieter konfiguriert ist?

Nein, und das ist in Ordnung — Einsendungen werden trotzdem mit dem E-Mail-Status skipped gespeichert. Sobald Sie unter Settings → Email einen Anbieter aktivieren, werden Benachrichtigungen und Bestätigungen für Besucher versendet, und das E-Mail-Protokoll hält jeden Versuch fest.

Wie wird Spam verhindert?

Drei passive Schutzmaßnahmen sind immer aktiv: ein verstecktes Honeypot-Feld, eine Mindestausfüllzeit-Falle und ein stündliches Einsendelimit pro IP, das Sie in den Einstellungen anpassen können. Reicht das nicht aus, fügen Sie die Website- und Secret-Keys von Cloudflare Turnstile in die Plugin-Einstellungen ein, und jedes Formular wird geprüft, bevor irgendetwas gespeichert wird.

Können Besucher eine Bestätigungs-E-Mail erhalten?

Ja. Ein Formular kann dem Besucher mit einer eigenen Betreffvorlage eine Bestätigung senden. Betreffvorlagen können Werte aus den eingesendeten Feldern verwenden, und Antworten auf Benachrichtigungs-E-Mails gehen an das E-Mail-Feld des Besuchers.

Kann ich die Einsendungen exportieren?

Die Seite mit den Einsendungen kopiert die gefilterte Ansicht als CSV, und eine authentifizierte export-Route liefert dasselbe CSV für Skripte oder API-Token.

Können Einsendungen automatisch gelöscht werden?

Legen Sie in den Plugin-Einstellungen Keep submissions for (days) fest. Eine geplante Aufgabe löscht Einsendungen und E-Mail-Protokolleinträge, die älter als das Limit sind; 0 behält alles.

Gibt das öffentliche Formular die Empfängeradresse preis?

Nein. Die öffentliche Formular-Route liefert nur Felder, Beschriftungen und Optionen — Empfänger und Benachrichtigungseinstellungen verlassen nie den Admin.

Änderungsprotokoll

1.1.2

  • Pflicht-Kontrollkästchen weisen fehlende oder ungültige Werte jetzt ab, statt sie stillschweigend durchzulassen.
  • Einsendungen werden vor jeder E-Mail-Verarbeitung gespeichert: Schlägt der Anbieter danach fehl, wird die Zeile als fehlgeschlagen markiert, die Nachricht geht aber nie verloren, und der Besucher erhält weiterhin eine Antwort über die gespeicherte Einsendung.
  • Wiederholte Einsendungen sind idempotent: Ein Fingerabdruck aus Slug, IP und Werten unterdrückt doppelte Zeilen und doppelte E-Mails.
  • Abgelehnte Einsendungen füllen das Formular über einen einmaligen Wiederherstellungsdatensatz mit Fehlern pro Feld neu aus.
  • Die Turnstile-Prüfung hat eine Frist von zehn Sekunden und eine konfigurierbare Ausfallrichtlinie (standardmäßig akzeptieren).
  • Das Ratenlimit pro IP ist atomar und verbraucht sein Kontingent vor Turnstile.
  • Feldschlüssel mit cf_ sind für das Einsendeprotokoll reserviert und werden vom Admin abgelehnt.
  • CSV-Export und Admin-Vorschau neutralisieren die Einschleusung von Tabellenkalkulationsformeln.
  • Die stündliche Bereinigung entfernt jetzt auch veraltete Raten-Buckets, Wiederherstellungsdatensätze und Idempotenz-Reservierungen.
  • Doku: Der Live-Demo-Link enthält UTM-Parameter.

1.1.1

  • Der Registry-Eintrag erhält ein Symbol, ein Banner, Screenshots, eine Installationsanleitung, eine FAQ und dieses Änderungsprotokoll. Keine Änderungen am Plugin selbst.

1.1.0

  • Optionale Cloudflare-Turnstile-Prüfung für jedes Formular: Legen Sie Website-Key und Secret-Key in den Plugin-Einstellungen fest, und Einsendungen werden vor dem Speichern geprüft.
  • Neue Berechtigung network:request, beschränkt auf challenges.cloudflare.com, für diese Prüfung.
  • Einstellung für ausführliche Debug-Protokollierung, nützlich beim Anbinden eines neuen E-Mail-Anbieters.

1.0.0

  • Erste Version. Formular-Builder im Admin mit acht Feldtypen, Posteingang für Einsendungen, E-Mail-Zustellprotokoll und Dashboard-Widget.
  • Benachrichtigungs- und Besucher-Bestätigungs-E-Mail über den aktiven Anbieter der Website via ctx.email.send().
  • Honeypot, Mindestausfüllzeit und stündliches Ratenlimit pro IP standardmäßig aktiv; optionale Aufbewahrungsbereinigung für alte Einsendungen.
  • Öffentliche Routen form und submit sowie der Seitenblock Contact form, mitgeliefert in site/.