{% extends 'layouts/base.html' %} {% block bodyid %}{% endblock %} {% block base %}
Example:
<form action="{{config.API_ROOT}}/your@email.com"
method="POST">
<input type="text" name="name">
<input type="email" name="_replyto">
<input type="submit" value="Send">
</form>
Change your form's action-attribute to this and replace your@email.com with your own email.
Ensure all <input>, <select> and <textarea> elements inside your form have a name attribute, otherwise you will not receive the data filled in these fields.
Go to your website and submit the form once. This will send you an email asking to confirm your email address.
Remember that if you display the same form in multiple URLs of your site you'll have to confirm it multiple times!
From now on, when someone submits that form, we'll forward you the data as email.
We're a community of developers that work together to create products. You can contribute on GitHub. {{config.SERVICE_NAME}} is a project that solves a problem many of us have faced: easily adding forms to otherwise static HTML pages.
We only store contents of the last 100 form submissions and delete the rest. Emails are sent using SendGrid's API, so on that end their privacy policies apply.
{{config.SERVICE_NAME}} is free for 1000 submissions per email each month. If you need more, there's a {{ config.UPGRADED_PLAN_NAME }} Plan.
We have various interesting features enabled for our {{ config.UPGRADED_PLAN_NAME }} Accounts and we are adding more. Please reach out to {{config.CONTACT_EMAIL}} if you need something we don't have.
This value is used for the email's Reply-To field. This way you can directly "Reply" to the email to respond to the person who originally submitted the form.
By default, after submitting a form the user is shown the {{config.SERVICE_NAME}} "Thank You" page. You can provide an alternative URL for that page.
This value is used for the email's subject, so that you can quickly reply to submissions without having to edit the subject line each time.
This value is used for the email's CC Field. This lets you send a copy of each submission to another email address.
If you want to CC multiple email addresses, then just make it a list of email addresses separate by commas.
Adding this to your form will allow for you to receive plain text versions of emails for form submissions.
We've gone global! If you want to display the reCAPTCHA page in a language other than English you can. We currently support ar, bg, ca, cs, da, de, en, es, fi, fr, hu, id, is, it, ja, ko, lt, nl, no, pl, pt-BR, pt-PT. ru, sk, sr, sv, th, tr, uk, zh-CN and zh-TW.
We love adding new languages! We're no language experts, but if you want your language added, please let us know.
Add this "honeypot" field to avoid spam by fooling scrapers. If a value is provided, the submission will be silently ignored. The input should be hidden with CSS.
All forms come with reCAPTCHA, which uses advanced machine learning techniques to distinguish between humans and bots, so for most forms this isn't necessary.
{{ config.SERVICE_NAME }} {{ config.UPGRADED_PLAN_NAME }} costs
each month
Each {{ config.UPGRADED_PLAN_NAME }} account can have unlimited forms and unlimited verified emails, and all them get the features listed below.
Upgrade nowGet a random-like string to replace your naked email address in the action attribute of your form. Your email address will remain unknown to spam-bots and human visitors.
Getting more than 1000 submissions each month? No problem, upgrading will cover that.
If you ever missed a submission email, for any reason, you can just login and read your last 1000 submissions, all listed and timestamped with full data. Also, the submissions can be exported to CSV or JSON!
It even works for submissions made while you were not a {{ config.UPGRADED_PLAN_NAME }} user (the last 100, in this case).
{{config.SERVICE_NAME}} {{ config.UPGRADED_PLAN_NAME }} users can use AJAX to submit forms. This even works cross-origin. First create a new form in your account dashboard. Then set the Accept header on your form to application/json. If you're using jQuery this can be done like so:
$.ajax({
url: "{{config.API_ROOT}}/FORM_ID",
method: "POST",
data: {message: "hello!"},
dataType: "json"
});
Showing the same form on many different pages? Generate a form verified site-wide and don't worry about having to track multiple confirmation emails.
Pre-verify email addresses on your account and you'll be able to create forms targetting them without having to submit the form and click on confirmation links.
Don't want your users to complete a reCAPTCHA? Each form now comes with the option to disable the reCAPTCHA, so you can maintain complete control over your form. You can even keep reCAPTCHA on a few forms that might be suceptible to spam, while disabling it on others.
If you have a problem, please look here first. To sign up for our newsletter, use the form on the right.
For a quick demo of Formspree, click here.
{{config.SERVICE_NAME}} is a tool managed on GitHub.
Please check out our Terms of Use and Privacy Policy.