Though the Contact Form 7 (CF7) plugin successfully sends millions of emails every day, there are a host of issues that can delay or stop emails on both the sending and receiving ends of a typical email.
This article was set up to help people, who are having trouble sending and receiving emails from CF7, solve their particular problems.
Emails from CF7 work flawlessly, without any effort, for most people
We ourselves have never had a problem sending or receiving emails from Contact Form 7. It’s always worked flawlessly, on a large number of websites, on a few different servers, with no need for any changes to the default setups. It just works and always has.
We believe most users of CF7 have the same experience. CF7 having over 5 million active installs, indicates a lot of people are successfully sending emails from CF7 every day.
But not for everyone – emails don’t work easily for some CF7 users
If you spend some time in the CF7 support forum you will see a lot of posts from people who do have problems with sending our receiving emails from Contact Form 7.
Contact form is not working …
… form not sending
Refuses to send email … etc.
The important point to note is that the sending and receiving of emails depends heavily on both the server where your WordPress installation is hosted and the email configuration of the local computer where the emails are supposed to be received.
If you are having CF7 email problems, you will need to investigate this issue in detail for your particular local configurations. You have our sympathy, this can be a difficult and time consuming task and you may not, in the end, get it to work.
BUT … it ain’t the plugin that is causing your problems … the plugin works.
Please try to keep that in mind as you work through some of the possible causes and solutions given below.
Tip: If you are unable to send emails from the CF7 plugin, it is likely that you are unable to send emails from WordPress in general.
reCAPTCHA v3 update in Contact Form 7
Contact Form 7 (CF7) recently added support for reCAPTCHA v3 in version 5.1, following repeated requests from CF7 users.
Immediately after this update, there was a large number of questions added in the CF7 Support Forum, asking for answers to problems users were experiencing with using reCAPTCHA v3 in Contact Form 7.
To help CF7 users around the world, who are now having issues, we have recently published a list of answers to issues with adding reCAPTCHA v3 to Contact Form 7.
Are you seeing an error warning surrounded by an orange border, every time you submit a form, after updating to Contact Form 7 version 5.1.1 or later.
The orange border can indicate reCAPTCHA v3 is not working correctly on your site (there can be other reasons).
Sending Emails
Here’s the list of items we’ve found commonly lead to email sending problems with the CF7 plugin (and WordPress in general).
- You need a functioning mail server
- Test if your WordPress installation is able to send emails
- Use a suitable From: address
- Using From:Â [your-name] <[your-email]> can cause problems
- Your email may be treated as SPAM
- Add Additional headers
- Hosting Issues – some hosts have special requirements
- Send Emails using SMTP
- Contact Form 7 Configuration Validator
- Use a CF7 Submission Storage plugin
- Plugin/Theme JavaScript Conflicts
- Contact Form 7 didn’t install or update correctly
- Yahoo DMARC issue
- reCAPTCHA v3 issues
We suggest that people work through this list from top to bottom to try to solve their particular email sending issue.
This article was created from questions asked in the CF7 support forum related to this issue.
We answer questions in the CF7 support forum most days & try to add any questions that are asked by a significant number of CF7 users, as soon as we become aware.
1. You need a functioning mail server
If you are trying to send emails from any WordPress installation, you will need to make sure you have a functioning mail server setup there.
Note: Local installs (using MAMP, WAMP, XAMPP etc.) often don’t have this capability. Trying to test CF7 email functionality on a local WordPress installation with no mail server capability appears to be a common mistake.
2. Test if your WordPress installation is able to send emails
Try going through the “forgot password” function on wp-login.php.
Do you get the email? If you don’t you will definitely need to rectify this.
Tip: The rest of the items in this article, cover in detail, specific items that may be causing your particular problem.
3. Use a suitable From: address
The From: address used in the Mail section of the CF7 interface can be very important in determining if an email is able to be sent and received.
A simple and effective way to avoid most problems is to always use a use an email address that belongs to the same domain as your WordPress site in the From: field in the Mail & Mail(2) sections of the CF7 interface.
Example MAIL settings
To: [your-name] <[your-email]>
(use correct email format to send an email to the form user)
From: valid-email-address@your-domain.com
(use a valid email address on the domain where your form is hosted)
Tip: There is a particular problem with using Yahoo email addresses as the From: email address – see Yahoo Issue.
Refer to Use a suitable From: address in Contact Form 7 for a more detailed explanation of this issue.
4. Using From:Â [your-name] <[your-email]> can cause problems
Using From:Â [your-name] <[your-email]> was very useful in the past, but it’s increasing risky. It means you can simply hit reply to answer emails that you receive from people filling in your form.
But you need hosting that allows any email to be used as the From: email. Lots of hosting does that, but some hosts don’t (to help prevent spam being sent for their servers), and this can definitely cause problems with sending emails.
For some hosts the From: email address needs to be a valid email on that domain.
In that case you may need to avoid using a customer input Email address as the From address and use something like From: noreply@yourdomain.com.
Tip: Add Additional headers will allow you to use Reply in your email application to reply to the form users email address without causing these problems.
Even if your host allows this, your emails are now more & more likely to be seen as spam by other hosts.
Increasingly emails that are seen to come from a different domain (in this case the domain of the person that filled in the form) are rejected as spam by a lot of mail receiving systems.
Refer to Using ‘From: [your-name] <[your-email]>‘ is risky for a more detailed explanation of this issue.
5. Your email may be treated as spam
Emails sent from Contact Form 7 can be considered spam for a number of reasons, and get rejected at many points during the email sending and receiving process, in addition to your spam folder.
Your email message may be simply discarded as malicious by email severs around the world … and this often happens without any notification.
This is usually due to the From: email address used or email content.
For example if your website is at mysite.com
, then you should use an email address like me@mysite.com
in the From: field in the Mail tab.
Otherwise the CF7 email will fail to send properly on some hosting systems, or be rejected as spam by a lot of mail receiving systems.
Tip: Increasingly, emails that are seen to come from a different domain are rejected as spam by many mail receiving systems.
There is a further problem when users use a Yahoo email address – see Yahoo Issue.
Refer to Your Contact Form 7 email may be going to spam for a more detailed explanation of this issue and how to fix it.
6. Add Additional headers
Using Additional Headers: Reply-to: [your name] <[your email]> will allow you to use Reply in your email application to reply to the form users email address.
MAIL tab
To: noreply@any-valid-domain.com (using noreply@any-valid-domain.com will generally prevent email replies) From: [your-name] <valid-email-address@your-domain.com> (adding [your-name] allows you to sort by the name of the sender & apply filters in your email application) Subject: Site Name - [your-subject] (adds extra info to ensure you still have a valid Subject when user does not supply a value) Additional Headers: Reply-to: [your-name] <[your-email]> (allows you to use Reply in your email application to reply to the form users email address)
Refer to Reply back without problems using the Additional Headers field for a more detailed explanation of this issue.
7. Hosting Issues – some hosts have special requirements
Some hosting providers require special settings to be applied to your WordPress installation in order to send emails from WordPress. You may need to contact your hosting provider and work with them to ensure emails are being sent correctly from your WordPress installation.
Check your WordPress hosts documentation or send them an email to check if they have any special requirements.
Some hosts don’t support wp_mail() and the standard PHP mail() function (the recommended methods to send emails in WordPress). They often claim it’s to reduce spam since the PHP mail() function can be used to send email with the From: email as whatever you want, without having to authenticate.
You should be able to get confirmation from your hosting provider that php mail() is available from your hosting account. If they don’t you will need to send your Contact Form 7 emails using SMTP.
We’ve found general questions to WordPress hosts about issues with sending & receiving emails from WordPress forms will often lead to unreliable assertions that everything is fine on their end.
When talking to WordPress hosts, asking the right question is often the first step to getting the right answer.
Tip: We recommend you use your detailed investigations of the various issues listed in this article to ask specific questions on any issues you have found to be a problem.
8. Send Emails using SMTP
If your hosting provider does not support wp_mail() and the standard PHP mail() function, you will need to use SMTP to send emails using WordPress.
WordPress supports SMTP email sending and can be configured in the WordPress admin area. The easiest way set this up properly is with a plugin:
- Post SMTP Mailer/Email Log – A next-generation SMTP mailer with excellent email debugging. It supports both traditional username/password authentication and OAuth 2.0 – Yahoo Mail, Hotmail and Gmail’s preferred mechanism.
- WP Mail SMTPÂ – Reconfigures the wp_mail() function to use SMTP instead of PHP mail(). It creates an options page that allows you to specify various options. You may need to contact your hosting provider to get detailed information for the options setting.
Tip: To use an email address, not matching the domain where your form is hosted, you may need to setup SMTP to send emails via an external email provider
Refer to Using SMTP to send emails in Contact Form 7 for a more detailed explanation of this issue.
9. Contact Form 7 Configuration Validator
The Configuration Validator validates Contact Form 7 form configurations to detect errors leading to mail delivery failure or other troubles.
It is designed to warn Contact Form 7 users of problems in their particular form setup that can cause their form emails to not be sent or not arrive at their destination.
We’ve created a collection of simple solutions to the list of Validator Error Messages displayed by the Contact Form 7 Configuration Validator.
Refer to Contact Form 7 Configuration Validator for a more detailed explanation of this issue.
10. Use a Contact Form 7 Submission Storage Plugin
Many experienced WP users use a Contact Form 7 submission storage plugin to save all your CF7 form submits to the WP database. These plugins provide a robust record of all form submissions even when things go a little wrong.
Our experience is that the submission storage plugins are very robust and rarely fail to save a CF7 form submit, even if the email is not sent due to a JavaScript Conflict or other problem.
We’ve reviewed a number of popular Contact Form 7 submission storage plugins to help choose one that meets your needs.
Refer to Save Contact Form 7 to WordPress database using 5 free plugins for a more detailed explanation of this issue.
11. Plugin/Theme JavaScript Conflicts
Plugin and theme conflicts are unfortunately a fact of life with WordPress. Like many other popular plugins, CF7 is frequently reported as not working in the WordPress Forums when the real cause is conflict from another theme or plugin.
Refer to Plugin or Theme Conflicts for a detailed explanation of this issue.
A spinning arrow continuing to spin after submitting a CF7 form, is a common symptom of a Plugin/Theme JavaScript Conflict.
This typically indicates that Contact Form 7’s JavaScript is not completing due to a problem in some other JavaScript loaded on that page.
If the JavaScript added by one other plugin has an error, the execution of the code will generally stop. Subsequent scripts loaded by any other plugin or the theme will not be run and the functionality breaks.
Refer to JavaScript Conflict Problems to look at this issue in more detail.
12. Contact Form 7 didn’t install or update correctly on your site
It is always possible that Contact Form 7 didn’t install or update correctly on your site. It’s a general problem with WordPress due to the unreliability of internet connections.
Delete the plugin folder at wp-content/plugins/contact-form-7/
using FTP (don’t use Delete option on Plugins page as this may erase all CF7 forms) and install the plugin again.
Contact Form 7 Email Troubleshooter
If you would like some help from our support staff & are willing to help us by providing information on your use of Contact Form 7 & CF7 Skins, you should complete the following form:
This form is made with CF7 Skins + CF7 Skins Pro + CF7 Skins Ready + CF7 Skins Multi + CF7 Skins Logic
Receiving
There are a host of issues that can delay or stop emails on the receiving end of a typical email. You will need to investigate this issue in detail for your particular local configuration.
Quote from the CF7 Support Forum – If anyone has ‘problems’ in not receiving emails, it’s most certainly not this plugin, they should check their settings and their junk folders.
Emails are delivered late
Most emails are delivered within a few minutes, but emails can sometimes be delayed while in transit due to problems on the sender’s mail server, heavy Internet traffic, or routing problems. On rare occasions, delays can last for several hours or more.
The sender’s address is blocked
The Blocked Addresses feature in some Mail systems allows you to create a list of addresses that you don’t want to receive mail from. Mail coming in from one of these senders will neither arrive nor bounce, but will simply be discarded. Check your blocked addresses list and make sure that email address you’re using is not blocked.
You’ve enabled mail forwarding
Is the email address you’re using set to be forwarded to another email address.
Have you set up filters?
You might have set up filters which caused the email to be sent to the Trash folder or to another folder within your Mail account.
Your email allocation on your hosting is full
If your email allocation is full, you may not be able to receive any more email, even if everything is working.
Useful Links
Troubleshooting common issues with email
Email Server Test
Prefer to learn via video?
This video briefly demonstrates how to setup the mail settings within Contact Form 7.
Still have questions?
If you still have questions, after reading and working through the information provided in this article, you should ask your question in the CF7 support forum.
Please include:
- a link to your Contact Form 7 form plus
- all your input in the Form & Mail sections of the CF7 interface.
This helps others to understand your actual problem and offer a possible solution.
Tip: Make sure you create a separate post for your question as per the WordPress Forum Guidelines.
This page is still a Work in Progress
This article was created from questions asked in the CF7 support forum related to this issue. We add more information as we become aware of other issues and solutions.
If you have something you think might help others on this issue, you can use the CF7 form below to contact us.
Please note that anything that looks like a request for support or help will probably be ignored.
This form is made using CF7 Skins