The following article we cover the main reasons why your contact form may not be working and possible solutions.
There may be more reasons why the contact form is not sending the emails. And we will describe below the steps that you should follow to try to fix this problem.
Go to your email and check the spam folder. Sometimes the emails go to your spam folder, and you think the form is not working. This is common for Gmail users.
If the emails are in your spam folder you should add it to your approved senders list to prevent it from happening in the future.
The following resource shows various ways to add emails to the approved senders list:
On occasions its possible that the server you’re using does not have email support.
First we need to check if your server is sending emails at all.
For that you can create a new user using an email you have access to.
Step 1 – Add New User
Go to Users > Add New, and complete the form.
Make sure you check the option that sends password to the user:
Step 2 – Check Email
Check if you’ve received via email the credentials for the new user (make sure you check the spam). If you did receive the credentials, then the email is working great!
Review the next section in this article Flothemes – User Email to see if your WordPress mail settings are causing the email to be blocked.
If you didn’t receive any emails, then you need to contact the hosting to see if email support is provided. Ask if the wp_mail() or PHP Mail() function is enabled for the site.
Alternatively you can use an SMTP server to send the emails. Please refer to the SMTP section for further details.
Flothemes - User Email
Some hosting companies have security measures in place on a server level, and due to these measures, you can no longer send emails that appear to be from an email address that is not on your account.
To bypass that, most of our themes have an option that let you choose if the ‘From’ data will use the user’s email or the default hosting email:
Using the user’s email in the ‘From’ field is nicer and more convenient to reply to the emails, but that may not work with some hosting providers. Thus if the contact form is not sending emails, disable that option.
Select “No” for the using the users email in the address from field.
Your emails are being blocked by your server, or you’re having issues with server side emails being sent.
Sending emails via SMTP is useful, as its bypasses the standard WordPress mail function and it removes all server side issues.
You can use a plugin such as WP Mail SMTP to send your mails, it allows email testing and debugging options.
Our friends over at WP Beginner have written a great article explaining how to use SMTP mail with Gmail, see the article linked below.
The following tutorial explains how to use Mailgun for WordPress for your SMTP needs. It allows up to 10k emails a month, perfect for your photography sites contact form.
Custom Contact Forms - CF7
Contact form 7 is a very popular plugin allowing you to create custom contact forms and add them to anywhere in your site. However if set up incorrectly you may not receive your inquires.
If you are using contact form 7 Plugin and it doesn’t work then try to set it up properly as described below:
(UPDATE: We recommend using Ninja Forms: https://wordpress.org/plugins/ninja-forms/ as it has a form submission area, this means that even if the email is not received it will still be available in WordPress)
There are two rules:
a) You MUST use an email address that exists in your “Email Accounts” icon in your cPanel. If you didn’t create the email address in your cPanel, it won’t work. (Note that, even if BlueHost isn’t handling your mail/MX, this will still work as long as you create the email address in the Email Accounts icon)
b) You MUST specify the above-mentioned email address in your FROM header in the “Message body” section of Contact Form 7.
By default, the setting is:
FROM: [your-name] (your-email)
Setup an email account in your cPanel, and then replace [your-name] (your-email) with any name you desire, and the email address you have created.
In the image below, notice how I set my From to be:
From: Eddy <firstname.lastname@example.org>
As long as your From uses a valid email address which exists in the Email Accounts icon in your cPanel, then your form should work properly.
Custom Contact Form - Ninja Forms
Ninja forms is our recommended custom contact form provider.
Why? It has an easy user interface, great customization options, it tracks email submissions and its free!
There are 2 reasons why Ninja Forms emails are not being sent (Other than server side issues and plugin problems):
1. The form is set up but no actions have been set. See more on Ninja form actions here.
Go to Ninja Forms > Select the Form > Go to Emails and Actions. Make sure you have an Email Admin action created.
If this is created, go into the action, and then make sure in the To email field is set to send to your email address.
2. The From Address is the users
Leave the from field blank. Why? It can get your emails blocked at a server level as it see’s the email being generated by the from address when its being sent from your WordPress site address.
See the above image for the optimal set up.
Ninja Forms Troubleshooting Documentation
Also see the following troubleshooting documentation from Ninja forms:
Finally its possible that there is a plugin conflict with our theme, and this may be causing the email functions from working correctly.
Disable all the plugins you have and try again. If the contact form still does not send the emails, please submit a support ticket.
If you’re having issues with your emails not being sent/received, AND you’re using FloForms, please check this article for troubleshooting.