Email form plugin for Statamic
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.

Statamic Email Form Plugin

This plugin is designed to allow you to quickly and easily create forms that will be used to email reciepents. This is a very simple plugin and if you need more power checkout the official Raven plugin.

Example Form Template

Here is a full example to get you going. Please see the parameters section for more field options:

{{ email_form subject="Contact Form" to="" required="name" }}
	{{ if error}}
		{{ errors }}
		{{ /errors }}
	{{ endif }}

	{{ if success }}
		<p>Your message has been sent!</p>
	{{ else }}
			<label for="name">Name:</label>
			<input type="text" name="name" id="name" value="Bill">
			<label for="from">Email:</label>
			<input type="text" name="from" id="from" value="">
		<div><input type="submit"></div>
	{{ endif }}
{{ /email_form }}


The {{ email_form }} tag accepts the following paramaters:

  • msg_header: The top body section of the email.
  • msg_footer: The bottom body section of the email.
  • subject: The subject of the email.
  • to: The form recipient's email address.
  • from: A email address to be used by the form. The Reply-to is always the supplied from from field.
  • cc: A cc email address.
  • bcc: A bcc email address.
  • required: A pipe separated list of required fields. Example: "name|address|city". Currently this only does simple validation to check if it is an empty value.
  • class: Apply a class to the form
  • id: Apply an ID to the form

Issues / Gotchas - On the radar

  1. With html_caching enabled the success and error messages will not display. See this issue report
  2. The name field is hard coded as the reply name in the plugin so it is recommended you use this field in your form.
  3. The plugin does have some hard coded English text and that will be fixed up in a future release. Still deciding on the best option for this.
  4. Validation is currently lacking some useful features. Basically only simple checking if the field is empty.


If you see any issues or have ideas for improvements pull requests are gladly accepted. ;-)