Integrationen · framework

Ein Astro-Kontaktformular: ohne Island, Adapter oder Backend.

Ein Astro-Kontaktformular braucht weder SSR-Adapter, API-Endpunkt noch Framework-Island. Astro rendert standardmäßig HTML; mehr braucht das Formular nicht. Setze action auf deinen Mailcontact-Endpunkt. Einsendungen landen im Projektpostfach mit Discord-, Slack-, E-Mail- oder Webhook-Meldungen.

Es liefert kein JavaScript aus, funktioniert mit Astros statischer Ausgabe bei jedem Host und auch nach späterem Adapterwechsel. Denn es ist Markup einer .astro-Seite statt Plugin oder Serverroute.

empfohlene Einrichtung

Nutze das MailContact-Skript mit deinem eigenen Design.

Füge dieses HTML auf deiner Website ein oder verwende den Formulargenerator. Ersetze den Formularlink durch deinen. Das gehostete Skript fügt die verborgene Prüfung ein, übernimmt Versand und Verifizierung und bewahrt Entwürfe bei Fehlern. Du bestimmst HTML und CSS. Free-Formulare zeigen einen sichtbaren Link „Processed by mailcontact.app“, Pro und Plus nicht. Die Rückmeldung folgt der Browsersprache. Setze data-mailcontact-language="fr" am Formular, um Französisch festzulegen.

contact.html
<form action="https://mailcontact.app/api/forms/your-form-id" method="POST" data-mailcontact-form lang="de" data-mailcontact-language="de">
  <input type="hidden" name="_language" value="de" />
  <fieldset>
    <legend>Kontaktiere uns</legend>
    <label>
      Name (optional)
      <input name="name" type="text" autocomplete="name" maxlength="200" />
    </label>
    <label>
      E-Mail
      <input name="email" type="email" autocomplete="email" maxlength="320" required />
    </label>
    <label>
      Nachricht
      <textarea name="message" rows="5" maxlength="5000" required></textarea>
    </label>
    <noscript>
    <div aria-hidden="true" style="position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden;">
      <label>Website
        <input name="company_website" type="text" tabindex="-1" autocomplete="off" />
      </label>
    </div>
    </noscript>
    <button type="submit">Nachricht senden</button>
  </fieldset>
  <p data-contact-status role="status" aria-live="polite" aria-atomic="true"></p>
</form>
<script defer src="https://mailcontact.app/forms/v1.js" crossorigin="anonymous" referrerpolicy="no-referrer"></script>

Für Komponenten mit eigenem Submit-Handler lade dasselbe Skript und nutze MailContact.prepare(form) und MailContact.send() statt der automatischen Markierung. Siehe die Referenz für eigene Oberflächen für Laden, Rückmeldungen und Quellenhinweis bei Free.

das Snippet

Alternative: eine direkte Integration für Astro.

Dieses Beispiel sendet direkt an die API. Behalte das erforderliche company_website Feld vorhanden und leer. Native Einsendungen öffnen bei Erfolg JSON oder bei Bedarf eine Prüfseite. Eigene Skripte ohne Verifizierung senden verdächtige Nachrichten zur Prüfung in Spam; deutlicher Spam wird ebenfalls ohne Benachrichtigung und Kontingentverbrauch zurückgehalten. Eine Erfolgsantwort bestätigt den Empfang einschließlich Prüfung oder das stille Verwerfen eines ausgefüllten Prüffelds. Siehe Spamschutz für das vollständige Verhalten.

src/pages/contact.astro
---
// No frontmatter needed: the form is plain HTML.
---

<form action="https://mailcontact.app/api/forms/your-form-id" method="POST">
  <input type="text" name="name" placeholder="Your name" required />
  <input type="email" name="email" placeholder="[email protected]" required />
  <textarea name="message" placeholder="What's on your mind?" required></textarea>
  <button type="submit">Send</button>
  <input name="company_website" type="text" tabindex="-1" autocomplete="off"
    style="position:absolute;left:-10000px" aria-hidden="true" />
</form>

so funktioniert es

Drei Schritte, vom Start bis zum Ziel.

01

Postfach erstellen

Ein Postfach pro Projekt. Benenne es nach deiner Website und erhalte sofort Endpunkt und Projektadresse.

02

Formular einfügen

Füge das Markup in jede .astro-Seite oder Komponente ein: src/pages/contact.astro, Footer oder Layout. Es ist dein HTML, frei gestaltbar.

03

Benachrichtigt werden

Füge Discord, Slack, E-Mail oder Webhook hinzu. Zugestellte Nachrichten erreichen dich in deinen gewohnten Tools.

warum Mailcontact

Passt gut zu Astro.

Kein JavaScript, keine Islands

Kein client:load, keine Framework-Komponente, keine Hydration. Nur statisches HTML, genau das, was Astro besonders schnell ausliefert.

Kein SSR-Adapter nötig

Astro-Serverendpunkte brauchen Adapter und Server. Ein externer Endpunkt hält deinen Build statisch. astro build, hochladen, fertig.

Ein Postfach pro veröffentlichter Website

Astro macht Marketingseiten, Dokumentation und Nebenprojekte einfach. Jedes erhält sein Postfach und seine Adresse statt eines privaten Sammelpostfachs.

FAQ

Astro + Mailcontact, beantwortet

Kann Astro Formulare ohne Server verarbeiten?

Nicht allein. Eine statisch gebaute Astro-Website hat keinen laufenden POST-Empfänger. Mit action auf einen Mailcontact-Endpunkt empfangen unsere Server die Einsendung, während deine Website statisch bleibt.

Funktioniert das auf Netlify, Vercel, GitHub Pages oder Cloudflare Pages?

Ja. Der Endpunkt akzeptiert POSTs jeder Domain. Das Formular läuft überall, wo dein statischer Output gehostet wird. Ohne Adapter, Funktionen oder Host-Spezialfunktionen.

Wie zeige ich Erfolg, statt die Seite zu verlassen?

Nutze das gehostete MailContact-Skript für Versand, automatische Prüfung und Rückmeldungen oder MailContact.send() im eigenen Handler. Eine konfigurierbare native Weiterleitung gibt es derzeit nicht.

Kann ich Tailwind oder lokale Astro-Styles verwenden?

Yes. It's your markup in your page, so scoped <style> blocks, Tailwind classes, or global CSS all apply as usual. mailcontact only cares about the field names: email and message are required, name and subject are optional; company_website must also be present and empty.

verwandt

Funktioniert auch mit

Ein Postfach für jedes deiner Astro-Projekte.

Formulare und echte E-Mail-Adresse vereint, mit Benachrichtigungen in deinen Tools. Starte mit einem kostenlosen Konto.

Kostenloses Formular erstellen

Keine Kreditkarte nötig. Free umfasst ein Projekt und 50 Formularnachrichten pro Monat.