Integrationen · framework

Ein Next.js-Kontaktformular ohne eigene API-Route.

Du brauchst weder API-Route, Mail-SDK noch SMTP-Zugangsdaten für Next.js-Nachrichten. Setze die HTML-action auf Mailcontact. Einsendungen landen im Projektpostfach mit Discord, Slack oder Webhook.

Funktioniert in App Router und Pages Router, Server- und Clientkomponenten, auch beim statischen Export. Denn es ist eine Formular-action statt Framework-Plugin.

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 Next.js.

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.

app/contact/page.tsx
export default function ContactPage() {
  return (
    <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 />
      <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 App und erhalte sofort Endpunkt und Projektadresse.

02

Formular einfügen

Füge die Komponente in Seite, Footer oder Modal ein. Es ist dein Markup, 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 Next.js.

Keine API-Route zu pflegen

Kein /api/contact-Handler, nodemailer oder verlorene Umgebungsvariablen. Eine ganze Kategorie Verbindungscode entfällt.

Für statischen Export geeignet

Der externe Endpunkt funktioniert mit output: 'export' und jedem statischen Host, ohne Serverfunktionen.

Ein Postfach pro veröffentlichter App

Mehrere Next.js-Projekte? Jedes erhält Postfach und Adresse statt privatem Sammelpostfach.

FAQ

Next.js + Mailcontact, beantwortet

Funktioniert das mit App Router und Pages Router?

Ja. Es ist einfaches HTML und wird aus app/ oder pages/, Server- oder Clientkomponenten gleich dargestellt.

Kann ich mit fetch statt einer nativen Formulareinsendung senden?

Ja. Sende dieselben Felder als FormData oder JSON im onSubmit-Handler an den Endpunkt. Native Einsendungen zeigen derzeit JSON; eine konfigurierbare Weiterleitung gibt es noch nicht.

Funktioniert es mit next build und output: 'export' für statisches Hosting?

Ja, genau darum geht es. Das Formular sendet an Mailcontact-Server, deine Next.js-Website bleibt ohne API-Routen oder Serverfunktionen vollständig statisch.

Wie zeige ich nach dem Senden eine Dankesnachricht?

Nutze das gehostete MailContact-Skript für automatischen Versand oder MailContact.send() im onSubmit-Handler deiner Oberfläche. Eine konfigurierbare Weiterleitung bei nativen Einsendungen gibt es derzeit nicht.

verwandt

Funktioniert auch mit

Ein Postfach für jedes deiner Next.js-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.