Contact Form 7 is the most popular form plugin for WordPress. Most WordPress developers started their journey with this form plugin. And if you’re here, the chances are that you’re one of them. While Contact Form 7 is still a very reliable form plugin for inquiries and lead generation, sometimes users run into a recurring problem. Oftentimes, Contact Form 7 does not send email when a form is submitted.
Let us explain the problem briefly -If someone submits a contact form on your website and receives a success message, Contact Form 7 is supposed to send an email notification. But in this case, although Contact Form 7 shows the success message, the emails don’t make it to the users’ inbox. This brings trouble for people who depend on Contact Form 7 to generate leads and accept user inquiries.
If you’ve run into the same problem, you’re in the right place. Here we will tell you exactly why Contact Form 7 is not sending email and how to resolve this issue.
Let’s begin with why Contact Form 7 may not send emails:
Why is Contact Form 7 not sending emails?
Email clients can reject or filter Contact Form 7 emails into the spam folder for several reasons. But before we get into why Contact Form 7 isn’t sending emails, it would be best to explain how WordPress plugins send email notifications.
How email works in WordPress:
- The process of sending email in WordPress begins with WordPress or the plugin collecting your email data from your hosting or SMTP plugin.
- Once someone makes an action that triggers an email from the plugin (e.g., form submission), your plugin collects the data to forward it to WordPress or SMTP plugin for early processing.
- Then your WordPress site or SMTP plugin packages the early stage email and forwards it to your hosting or SMTP/transactional email service.
Now that you know how emails work in WordPress, let’s get back to why Contact Form 7 isn’t sending emails:
1. Your hosting does not support PHP
Let’s get this straight; hosting isn’t optimized for emailing. Unless your hosting service comes with a dedicated email service, it’s not something you’d want to utilize for sending transactional emails from WordPress. Why?
Firstly, your website’s loading speed will automatically decrease if your hosting needs to send too many emails. Secondly, WordPress utilizes the wp_mail() function to send PHP emails before your hosting server takes over.
PHP isn’t a recommended protocol for email, and many hosting servers don’t support PHP emails. So Contact Form 7 may not be able to deliver your emails if you’re using a web host that doesn’t support Contact Form 7.
2. Email clients filter your emails as “spoof” emails
Spoofing happens when email clients detect that the sender is masking their email address from the receiver.
Most people use Contact Form 7 with its default configuration. This leaves Contact Form 7’s emails vulnerable to spam filters.
The default From address in Contact Form 7’s Mail settings is [your-name] <[your-email]>. This essentially means that WordPress will attempt to deliver the email from the user’s email address. While the email is being delivered from WordPress, attempting to deliver from the user’s email address can cause “spoofing.” As a result, the emails will get blocked by spam filters.
How to solve Contact Form 7 not sending email
Both Contact Form 7’s email configuration and WordPress’s default mailing protocol may be responsible if Contact Form 7 does not send emails. So here are two ways you can solve them:
1. Change the From address
Note that changing the From address isn’t going to be an easy task and may not work unless your hosting supports PHP email. However, suppose you’re familiar with the technicality of debugging and troubleshooting. In that case, you can try changing your Contact Form 7’s From address to deliver the emails from your website instead of the user’s email address.
To do so, you need to create an email address for your domain. This means your email address should include your domain. For example, if your domain address is www.fluentsmtp.com, your email address should be email@example.com.
Check out this guide to learn how to create a custom email address for your domain name.
Once you’ve created a custom email address that includes your domain name, get back to your Contact Form 7’s Mail settings and replace the existing From address with the one you’ve created.
It is also ideal to change the additional header section to Reply-To: as [name] <[email]>. This will route any replies to the user, even though the From address is your domain email. Once configured, Save the settings. Contact form 7’s emails will be delivered to your inbox!
2. Use an SMTP to route the emails
Although your hosting can take the responsibility to deliver transactional emails, it’s not a recommended method for several reasons, one of which is the default mailing protocol of WordPress.
The recommended protocol for email is SMTP, whereas WordPress sends out PHP emails using your hosting server. As a result, most of the emails go to the user’s spam folder. Besides, if you’re not that tech-savvy, debugging Contact Form 7’s email deliverability issues can be troublesome for you.
Hence, it is recommended to use an SMTP plugin to route your emails through a dedicated SMTP server.
Ready to download an SMTP plugin?
FluentSMTP is one of the fastest-growing WordPress SMTP plugins. It’s free and has some unique SMTP features.
- Email routing with multiple email service connections
- Email logs
- Email resending
- Email sending statistics
- Any SMTP connection
These features enable you to track, test, and debug any issues you may encounter with Contact Form 7. FluentSMTP also has native integrations with the following SMTP services:
- Amazon SES
These SMTP services ensure an excellent email deliverability rate and offer thousands of email sending for free. So you can sign up for any or all of these services and configure FluentSMTP to send your WordPress emails reliably. To do so, just install FluentSMTP and select the email service you want to use. Enter your credentials, and you’re ready to experience maximum email deliverability!
* Tutorial: How to send WordPress emails using Amazon SES
Contact Form 7 offers a straightforward way to create WordPress forms. But it’s easy to get caught when you don’t receive form submission notifications from Contact Form 7. Besides, contact form 7 is limited in terms of features and requires many extensions to design and customize.
We hope this guide helps you solve the issue, but if you’re having further issues with contact form 7, we recommend checking out Fluent Forms.
Fluent Forms is a drag-and-drop form builder that comes with more than 25 pre-built form templates. With over 27+ free input fields, it’s undoubtedly capable of enhancing your WordPress experience like never before. So check out Fluent Forms and if you like what you see, grab it without wasting any time!