The contact form doesn't send
Contact Form 7, WPForms or Gravity Forms: how to check whether the fault is in the form or in the email.
- You need
- WP admin
- Updated
When a contact form doesn't send, the problem is either the form or the email. The form can block the submission, for example because it's flagged as spam. The submission can also go through while the email from WordPress never arrives.
First find out which part is failing, so you know where to look.
Send a test and see what the form says
Fill in the form yourself in a private window, using an email address you have access to.
- In Contact Form 7, the message "Thank you for your message. It has been sent." means WordPress accepted the email for sending. If it never arrives, the delivery is failing.
- If it says "There was an error trying to send your message. Please try again later.", either sending failed or the submission was treated as spam. Contact Form 7 shows the same text in both cases. reCAPTCHA and Akismet can also flag genuine submissions as spam.
- If nothing happens when you press the send button, JavaScript on the page is failing. Press F12 and look for red errors in the Console tab. Cache and optimisation plugins combine and defer scripts, so clear the cache and try deactivating them.
Check whether the submissions are stored
If the submissions are stored in WordPress, the form works, and the email delivery is failing.
- Gravity Forms stores every submission. Go to Forms, hover over the form and choose Entries. There you can also resend notifications with Resend Notifications.
- WPForms Lite doesn't store submissions in WordPress. Only the paid version does.
- Contact Form 7 doesn't store messages itself. Install the Flamingo plugin from the same developer, and new submissions appear under Flamingo → Inbound Messages.
Check the recipient and sender
In Contact Form 7, go to Contact → Contact Forms, open the form and choose the Mail tab.
- The To field contains the address that receives the messages. The default is the Administration Email Address under Settings → General.
- The From field should contain an address on the website's domain. Otherwise Contact Form 7 shows the warning "Sender email address does not belong to the site domain."
- Never put the visitor's address in the From field. Add this line to Additional headers instead, so you can reply to the visitor directly:
Reply-To: [your-email]
your-email is the name of the email field in the default form. If the field has another name in your form, use that.
In WPForms, the notifications are in the form builder under Settings → Notifications. Check that Enable Notifications is on, that the recipient is correct and that From Email is an address on your domain. Gravity Forms keeps its notifications under each form's settings.
Get the email delivered
If the submissions are stored but the email doesn't arrive, the email delivery is failing, not the form. Check the spam folder first. Then send through an email account at your email provider with SMTP, for example with the WP Mail SMTP plugin, and submit the form again.
When you're stuck
If other email from the site arrives, such as the password reset email, but the form's email still doesn't, go through the form's mail settings line by line. If no email from the site arrives at all, your email provider or hosting provider can check their logs to see where it's rejected or blocked.