Send automatic, customized email notifications and autoresponders whenever an entry is submitted, updated, or deleted. Add or edit notifications by going into your form → 'Settings' → 'Actions & Notifications'.
If you're having trouble sending or receiving emails, you can find our most common solutions to the following:
- Emails not received
- Gmail ignoring the Reply-to address
- Fix email deliverability issue with SMTP plugin
- HTML showing in email
Send email notifications from forms
- Go into your form. Click on 'Settings' → 'Actions & Notifications'. By default there will already be an email notification set up. Click on the Email Notification to edit it:
or click the Send Email icon to add an additional notification.
- Give your email notification a Label for easy reference. This label will only be seen on the back-end.
- Why should this email be sent? Select one or more of the following from the Trigger this action when dropdown:
'Entry is Created', 'Draft is Saved', 'Entry is Updated', 'Entry is Deleted', or 'Entry is Imported'. If you are running the Lite version, these options will be hidden and the form action will be triggered when an entry is created.
- Enter one or more email addresses in the To box.
The only formats that can be used are 'name <firstname.lastname@example.org>' and 'email@example.com'. To send the same notification to multiple recipients, separate them with a comma.By default, the [admin_email] shortcode will be inserted in the To box. This will send the notification to the email address from your WordPress General Settings page.
- If you would like others to receive a copy of the message, click CC and insert the email(s) in the CC box that appears. If you would like others to receive a copy of the message but do not want them to be shown to the recipients, click BCC and insert the email(s) in the BCC box that appears.
The only formats that can be used are 'name <firstname.lastname@example.org>' and 'email@example.com'. Separate multiple email addresses with a comma.
- Insert the sender's name and email address in the From box. By default, your website name and admin email address from your WordPress General Settings page will be used.
If you want to reply to a different email address other than the one the message was sent from, click Reply To, then enter in the Reply To email address. The formats that can be used are 'name <firstname.lastname@example.org>' and 'email@example.com'.
Want to set the Reply to option to the email address of the sender? See how to reply to the visitor.
- Add a subject in the Subject box. If not subject is entered, emails will use '[Form name] Form submitted on [Your site name]'.
- By default, the [default-message] shortcode will be inserted in the Message box.
This will display all completed fields in the email notification, which will look like this:
If you would like to customize the email message, jump to Customize the email message.
- Please note: When the 'Send Emails in Plain Text' option is checked, the email will look exactly how it is in the 'Message' box. Otherwise, you will have to add line breaks with HTML.
After setting up your notification, test it out by submitting an entry in your form. Email notifications should be sent to all To, CC, and BCC email addresses. If the email notification does not show up in your inbox, please see this FAQ page to find a solution.
Reply to the visitor
To maximize the chances of email deliverability, it's best to use the same From address on all emails.
To use the name and email address that was submitted in the form, you can do so by typing in  <>, where  is the sender's name, and  is the sender's email address.
Set up an autoresponder
- Follow steps 1 and 2 in the Set up an email notification section.
- If users will be logged in when they fill out the form, insert [113 show="user_email"] in the To box. Replace '113' with the ID of the UserID field in your form.
If your users will NOT be logged-in when they submit this form, put  in the To box. Replace '112' with the ID of the email address field in your form.
- Follow steps 4-8 in the Set up an email notification section.
Set up multiple email notifications
If you want to send a different email for each recipient, you can create a separate Form action for each one. Suppose you want to send a Thank you message to your users and a copy of the completed form data to your admin, follow the instructions below to set it up.
To send the admin a copy of the submitted form user data:
- Add an email notification form action.
- Set the TO field to send it to [admin_email].
- Add the [default-message] shortcode in the Message box which will send all the completed fields to the admin.
For the Thank you message sent to the users:
- Add another email notification form action.
- Set the TO field to the user's email address field ID/key in your form. See more information on how to set up automated messages to the user email address.
- In the Message box, remove the [default-message] shortcode and replace it with your own Thank you message.
Manage file attachments
To attach uploaded files to your email notifications please follow the instructions in the documentation for the File Upload field.
If you only want to receive an email with the file attachments and not have any files stored online, follow the instructions below
- Enable email attachment by selecting Attach this file to the email notification in your File upload settings.
- Use this code example to automatically delete uploaded files from your site immediately after the entry is created and the email notification is sent.
If you would like to automatically delete files after the entry is deleted or when they are removed/replaced, select Permanently delete old files when replaced or when the entry is deleted in your File upload settings.
Customize the email message
You have three main options for customizing your email notification content.
- Add anything you would like before or after the [default-message] shortcode. The default message includes any completed fields in the form. If you would like to modify the default message, jump to the default message parameters section.
- Customize the default message by selecting 'Default HTML' or 'Default Plain' from the modal options box. This will insert the HTML and shortcodes for the current default message. This code is not dynamic and will not update automatically if fields are added to or removed from your form.
- Remove the [default-message] shortcode and create your own message from scratch.If you prefer to create your own message from scratch, add your custom content to the 'Message' box. You can add text, HTML, and inline CSS in this box, but keep in mind that email clients don't support all types of HTML and CSS. For guidelines to follow when using HTML and CSS to generate emails, click here. Please note: You will need to add line breaks with HTML (using <br/> ) unless the 'Send Emails in Plain Text' option is checked.To populate your custom message with fields and information submitted in the form, you can use the insert value box, accessed by clicking the icon in the field. For example, clicking on the 'First Name' field would insert the id of that field, , into the message content. The content in the 'Message' box could look something like this:
The received email would display the name that was entered into the form.To add the title or label of a field to your email message, you will need to take this process one step further. If the ID of your 'First Name' field is 25, you could add the following shortcode to your email message:
[25 show="field_label"] : 
This would be translated to your field label and the value that was entered, which would look like this:
What is your name?: John
Customize the colors
The default email notification gets the border, background, color, and font size from the 'Formidable' → 'Styles' page. Customize the colors in the email notification by changing the following style settings:
- Border color: Styles → Field Colors → Border
- Background colors: Styles → Field Colors → BG Color and Styles → Field Colors → Active → BG Color
- Text color: Styles → Field Colors → Text
- Border width: Styles → Field Colors → Thickness
- Font size: Styles → Field Settings → Size
Default message parameters
The following parameters can optionally be used to alter the output of the [default-message] shortcode.
- plain_text - By default, the default message displays the content in a table. You can remove the HTML and display only the text by including plain_text=1.
- user_info - Display user information in the default message, including IP address, browser, and referring URL.
- include_blank - Include blank fields in the default message.
- include_extras - By default, page breaks, headings, and HTML fields aren't included in this shortcode. You can include any/all of them as shown here:
[default-message include_extras="page, section, html"]
- include_fields - Only include specific fields in the displayed content.
- exclude_fields - Exclude specific fields in the displayed content.
- direction - By default the entry is displayed field names in the left column and entries in the right column. Switch those columns by using this shortcode:
- font_size - Determine the size of the font, in pixels.
- text_color - Determine the color of the text, in hexadecimal form.
- border_width - Determine the width of the border in pixels.
- border_color - Determine the color of the border in hexadecimal form.
- bg_color - Determine the color of the background in hexadecimal form.
- alt_bg_color - Determine the background color of the alternating rows in hexadecimal form.
- format - Specify which format the entry should be returned in. By default, the entry will be returned in a table (format=text). The other options include format=json and format=array. These alternative formats are best to use directly in php instead of using the shortcode on a page.
Add a logo in message
You can add an image or a logo to your email message using the img HTML tag.
- Go to your Email Notification form action.
- At the location you would like to place the image in your email, insert:
<img src="http://example.com/image.jpg" alt="logo">
- Change http://example.com/image.jpg to the location of your image and logo to a descriptive alternate text.
- Conditional Logic: Send a different email to all recipients, using the Conditional logic approach.
- Separate Values: Send the same email to all recipients, using the Separate values approach.
- Dynamic Field: Send the same email to all recipients using email addresses that were entered in another form with the Dynamic field approach.
- Go to build your form. Add a 'Dropdown', 'Radio', or 'Checkboxes' field called 'Departments'. In this example, add the options 'Human resources', 'Billing', and 'Housekeeping'. When your users fill out the form, they will select the department related to their inquiry.
- Go to your form → 'Settings' → 'Actions & Notifications'. Click the Send Email icon three times to add a new notification for each of the three departments.
- Enter the desired recipient email address in the To box and message in the Message box. In this example, it would be the email address for human resources:
- Select 'Add Conditional Logic'. In this example, set 'Department' is equal to 'Human Resources':
- Now, human resources will get an email notification only when the submitted inquiry is relevant to their department and the email content will be unique for each department.
- Add a drop down or radio field to your form. Check the box to 'Use separate values' in the field options.
- Add the department for the displayed value and the email address for the saved value.
When your users fill out the form, they will select the department related to their inquiry.
- Update your form and go to 'Settings' → 'Actions & Notifications'.
- Add a new notification and click on the icon in the To box. Then click on your dropdown or radio button field in the modal box to add the field to the To box. Add show="value" to the field id that was added to your To box.
- Create a new form titled 'Departments' for this example. Add two fields to this new form: one Single Line Text field for the Department Name, and one Email Address field.
- After your form is created, go to the 'Entries' page and add one entry for each option you want your users to select from. For example, you may add entries like this:
- 'Human Resources' in the text field and 'firstname.lastname@example.org' in the email field
- 'Billing' in the text field and 'email@example.com' in the email field
- 'Housekeeping' in the text field and 'firstname.lastname@example.org' in the email field
- Now, return to the form your users will be filling out and add a 'Dynamic Field'. Go to Import Options From: and select 'Entries from a form field', 'Departments', and 'Department Name'. Select to display as Dropdown, Radio buttons, or Checkboxes. When your users fill out the form, they will select the department related to their inquiry.
- Update your form and go to 'Settings' → 'Actions & Notifications'.
- Add a new notification and click on the icon in the To box. Then click on the Department Emails field in the modal box to add this field to the list of email recipients.
- Create a new form called "Send a Message". Add a Dynamic field with the following settings:
- Dynamic Default Value: [get param=to_name]
- Load options from: the form where a name/email will be added - Name field
- Display as: dropdown
- Visibility: Administrator (only you or other administrators will see this. Your users will not see this field)
- Add any other fields that you would like to, including a paragraph field for entering a message.
- Go into your Send a Message form's 'Settings' → 'Actions & Notifications' → 'Email Notification'. Insert [x show=y] in the To box. Replace x with the ID of the Dynamic field in the "Send a Message" form. Replace y with the ID of the email field in the linked form.
- Publish the "Send a Message" form on a page.
- If you have not already done so, create a View where users will be able to select an individual to email. Add any information you would like to your View. You must also add a link which will send users to the page where your 'Send a Message' form resides. Add a parameter to the end of the link in your View. For example, <a href="siteurl/send-a-message/?to_name=[id]">Mail</a>. This will attach the entry ID to the url. If you would prefer to insert the form inside of the View, you can publish it like this: [formidable id=x to_name="[id]"].
- Go to the Formidable → Entries page.
- Select "view" or "edit" under the entry you would like to resend.
- Click the option labeled "Resend" in the menu on the right. This will send all email Form Actions that are set to be triggered when an entry is created.
- After clicking "Resend", a list of email addresses will be displayed. Each of these email accounts should receive an email.
There are three ways to route emails, depending on what you want to accomplish.
To further customize email routing, refer to the frm_to_email page for commonly requested custom code examples.
If you would like to send a different message to each recipient, you will need to use Conditional Logic. Suppose you have three departments in your company: human resources, housekeeping, and billing. You also have a form on your website for people to leave an inquiry. You want to send human resources an email notification regarding the inquiry only if it is applicable to them. The same is true for billing and housekeeping.
If you would like to send the same email notification to all recipients, but the recipient changes based on a field in your form, you should use Separate Values. Suppose you have three departments in your company: human resources, housekeeping, and billing. You also have a form on your website for people to leave an inquiry. You want to send human resources an email notification regarding the inquiry only if it is applicable to them. The same is true for billing and housekeeping.
Now, if the user selects human resources as the department, the email notification will be sent to human resources.
If you would like to send the same email notification to all recipients and the recipient should change based on a field in your form, you can use a Dynamic Field. One advantage of this approach is that there is no way to see the email addresses, even when inspecting the page. Another advantage of this approach is that it is dynamically populated using entries from another form.
Suppose you have three departments in your company: human resources, housekeeping, and billing. You also have a form on your website for people to leave an inquiry. You want to send human resources an email notification regarding the inquiry only if it is applicable to them. The same is true for billing and housekeeping.
Now, if the user selects human resources as the department, the email notification will be sent to human resources.
Hidden email address
There may be times when you would like to users to be able to email another user on your site while keeping the To email address completely hidden. If you want your users to be able to send a message without ever seeing the email address, follow the directions below.
This is the label or title for the email notification. It will only be seen by the admin on the back-end.
When to Send Notifications
Email notifications can be sent by selecting from the trigger options in the Trigger this action after dropdown. You can further customize when a notification will be sent by using conditional logic.
The email address where you would like notifications to be sent. By default, your website name and admin email address from your WordPress General Settings page will be used. If you do NOT want to receive email notifications, remove '[admin_email]' from this line. To send the same notification to multiple recipients, separate them with a comma.
If you would like the user submitting the form to receive the email notification, select the email address field from the options in the modal box for the To field. If your users will be logged in, you can insert the User ID field here to send the notification to the email address in their account.
If you would like others to receive a copy of this message, click on 'CC' then insert their email(s) in the box. Multiple emails can be used but must be separated with a comma.
If you would like others to receive a copy of this message but don't want them to be shown on any other recipient's copy then click on 'BCC' and insert their email(s) in the box. Multiple emails can be used but must be separated with a comma.
The name and email address the email notification will be sent from. By default, your website name and admin email address from your WordPress General Settings page will be used. Test the email with your selected From address.
Emails will be much more reliable if you do not use a user-provided email address. For example, Yahoo does not allow PHP to send emails from yahoo.com accounts. In order to help increase deliverability, Formidable will send the email from email@example.com instead of a Yahoo address that will fail.
If you would like the user to reply to a different email address other than the one the message was sent from, then insert it here.
The subject line for your email notification.
The content of your email notification. If you would like the email to contain a copy of the completed form, the easiest option is to use the [default-message] shortcode. If you would like to modify the default message, jump to the default message parameters section.
Append Browser and Referring URL to message
Append the user IP address, browser information, and referring URL to the email notification. This will also include user tracking information if you checked the box in the 'Formidable' → 'Global Settings' to 'Track referrer information and pages visited.' The user IP address, browser information, and referring URL is automatically stored when the entry is submitted and is accessible with the entry as well.
Send Emails in Plain Text
Plain text emails don't support bold, italic, colored fonts, or other text formatting, but plain text emails are universally supported by all email clients. HTML can increase the chances of email being flagged as spam, so if you are having trouble with spam blockers, try sending the email as plain text. Also, if you create a custom message without any HTML, check this box so hard returns will be seen in the email.
Add Conditional Logic
Conditional logic for emails is a pro-only feature. Send a notification only if certain conditions in your form are met. For step-by-step instructions on how to use conditional logic to route email notifications, jump down to Email Routing.
If you would like to resend an email, follow the steps below.
Not receiving emails?
In most cases we discover that emails leave the website correctly, but are sanitized or deleted before delivery by internet spam protection measures. Because spam protection rules are constantly getting stricter, a form that previously worked can sometimes stop working out of the blue, even if nothing has changed on your website.
To check if your Formidable emails are actually being sent, you can install a logging plugin such as WP Mail Logging.
If the emails are not being sent and doesn't arrive in your inbox, follow the steps on the Frequently Asked Questions page to try and solve the problem.
Reply-to address ignored by Gmail
There are a few different scenarios where the new Gmail interface will ignore the Reply-to address in the email header.
- If the To address is the same as the From address, Gmail ignores the Reply-to header information. This looks unusual and can trigger spam deletion. To get this working, you will either need to change the From address or the To address in your email form action.
- If the From address is a registered sending account in Gmail, the Reply-to is ignored.
Ensure email deliverability using SMTP
To avoid email messages being marked as spam, configure your site to send all emails using an SMTP server. SMTP sends messages in a way that looks more legitimate than the built-in WordPress mail service, and helps your messages pass spam filters.
To make sure that your email messages are configured properly, here are important things to check:
- Your FROM address MUST match the domain of your website. It is often best to setup a dedicated email for this, like firstname.lastname@example.org.
- Your TO address should never match your FROM address. This looks unusual and can trigger spam deletion.
- If you specify a REPLY-TO address, it should never match your TO address.
- While you can include multiple addresses in your TO field, it is best to use the CC and BCC fields for additional recipients.
- Many spam filters are triggered by too many recipients in one email. For large lists (50 or more recipients), consider a service like Sendgrid or SendInBlue.
- Minimize the links you include. Email messages with lots of links may trigger spam filters.
Email shows HTML
If there is code showing in your email, please see the steps to get rid of HTML in the email.
Using the wrong From email
There are times when the email you receive comes from a different email address than you have included in your email settings. If the email is sent from email@example.com, this means you are trying to send emails from a Yahoo address. See more detail on this issue above.
Another possibility is that you are using an SMTP plugin. This type of plugin is designed to send from a single email address configured in the SMTP settings. We recommend that you use the Reply To option to set the email address you would like.
The From email address may also change if you are sending emails through a transactional email service like SendGrid. This is similar to SMTP, where the from email address is not generally dynamic.
Your host may have disabled the mail() function
There are two common solutions if you see the error message: The email could not be sent. Possible reason: your host may have disabled the mail() function.
- Contacting your host and asking for this function to be enabled may be the quickest way to resolve your issue.
- If your host will not enable this function, using an SMTP plugin allows your website to send emails without it. Please note that SMTP plugins will use the mail() function by default when first installed, and you MUST configure your SMTP plugin with your mailserver settings.