Eleventy form to email

Eleventy builds static pages, so a form needs somewhere else to send its data. Point it at FormDoc and every submission arrives in your inbox.

1. Create an include

Save this as _includes/formdoc.html:

HTML
<form action="https://api.formdoc.dev/v1/submit" method="POST">
  <input type="hidden" name="access_key" value="YOUR_ACCESS_KEY">
  <label for="fd-name">Name</label>
  <input type="text" id="fd-name" name="name" autocomplete="name" required>
  <label for="fd-email">Email</label>
  <input type="email" id="fd-email" name="email" autocomplete="email" required>
  <label for="fd-message">Message</label>
  <textarea id="fd-message" name="message" rows="5" required></textarea>
  <input type="checkbox" name="botcheck" style="display:none" tabindex="-1" autocomplete="off">
  <button type="submit">Send</button>
</form>

2. Add it to a page

In a Nunjucks or Liquid template:

TEXT
{% include "formdoc.html" %}

Eleventy’s Markdown also passes HTML through by default, so you can paste the form straight into a .md page.