Last Updated on
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. Its 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 6 million active installs, with currently over 10,000 downloads every day, indicates that a lot of people are successfully sending emails from CF7.
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.
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.
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
- Extra steps to prevent your form email being seen 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
- Contact Form 7 didn’t install or update correctly
- Yahoo DMARC Issue
We suggest that people work through this list from top to bottom to try to solve their particular email sending issue.
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.
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.
Some hosting requires that any emails being sent via WordPress are from a valid email address on your website domain.
If you set your real email address as the From: address, and it’s something like email@example.com, the mail may not send because gmail.com is not a domain handled by your mail server.
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.
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: firstname.lastname@example.org.
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
Your email message may be routed to a spam folder or even worse, simply discarded as malicious. Emails can be considered spam for a whole host of reasons and get rejected at many points in the email process in addition to your spam folder.
This is usually due to email headers (in particular the From email address used) or email content.
If your site was on example.com, then the email being sent should be sent from email@example.com as well.
If you’re sending with the From on a different domain, then that email will fail to send properly on some hosting systems, or be rejected as spam by a lot of mail receiving systems.
You can safely use [your name] <firstname.lastname@example.org> to be able to sort by the name of the sender & apply filters in your email application.
There is a further problem when users use a Yahoo email address – see Yahoo Issue.
Extra steps to prevent your form email being seen as SPAM
There are a couple of measures you can use to convince a recipient’s mail servers that your message is legitimate and should be delivered as addressed.
- Use a From: email address that belongs to the same domain as your WordPress site in the From: field.
- Follow Best Practice to Set Up Mail in the CF7 documentation.
- Set up an SPF Record to help ensure that an email from CF7 isn’t seen as forged.
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.
To: email@example.com (use any valid email address on any valid domain) From: firstname.lastname@example.org (use a valid email address on the domain where your form is hosted) 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.
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.K.A Postman SMTP, is 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.
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 CF7 Submission Storage Plugin
Many experienced WP users use a submission storage plugin like Contact Form DB or Contact Form 7 Storage 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.
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.
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.
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.
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 on your Contact Form 7 Email Issues, after reading and working through the information provided in this article, you should ask your question in the CF7 support forum.
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.
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 be ignored.
Of course this form is made using CF7 Skins