Do you need to solve Contact Form 7 not sending email?
Don’t worry: we have a solution for you.
In WordPress, it’s common for people to run into all kinds of issues with their forms not sending email. So in this post, we’ll show you why Contact Form 7 is no longer sending emails and what you can do to get those contact form emails working 100% reliably.
In This Article
Fix Your Contact Form 7 Emails Now
Why Contact Form 7 Is Not Sending Emails
Contact Form 7 emails sent but not received? You aren’t alone.
Imagine this — Your website forms seem like they are functioning properly. Your form seems to work just fine, and the visitor gets a success message.
But the contact form email never ends up in your inbox.
If you’re using Contact Form 7, we’ll explain why it’s common that Contact Form 7 is not sending emails.
There are 2 main reasons:
Your Emails Are Seen As Spam
Spoof emails are similar to spam emails. Spoofing means that someone else is faking the sender address. And any emails that are suspected of spoofing rarely even make it to an inbox.
Unfortunately, Contact Form 7 sends you a notification when a form is completed by using a default or generic email as the “from” address. This is often flagged as spoofing because this email is generic and doesn’t have the right authentication. The result? Emails from Contact Form 7 going to spam!
For this reason, Contact Form 7 email notifications are commonly lost and never end up in your inbox.
Your Hosting Company Doesn’t Use the PHP Mail Function
Another reason you’re likely running into the why is Contact Form 7 not sending emails issue is because of the PHP mail function and your hosting provider.
If your web host doesn’t support the PHP mail function, (which is very common these days), that could be the reason Contact Form 7 isn’t sending email. The WordPress
wp_mail() function relies on PHP mail to send emails from your site, including emails generated by contact form plugins, but many hosts disable it.
We know that people have issues with GoDaddy sending WordPress sending email for this exact reason. And some people have issues with A2 Hosting SMTP because external SMTP servers are restricted.
Even if your host does allow your site to use PHP mail, it’s a pretty lousy way to send emails. PHP mail is extremely basic, and WordPress can’t add any authentication information to the emails that it generates.
That means your Contact Form 7 emails can look like generic spam messages. So, even if you’ve configured everything correctly, it’s still very likely that your Contact Form 7 messages are going to spam.
This is why we recommend using an SMTP plugin to send emails from WordPress instead of using the default PHP mail function by itself.
So now that you’re aware of the reasons Contact Form 7 isn’t sending email, let’s take a look at how to fix the problem.
How To Fix Contact Form 7 is Not Sending Email
The first step isn’t guaranteed to work, but we recommend checking your Contact Form 7 settings anyway since it’s not a good idea to use the defaults.
Let’s take a look at that first.
1. Try Changing The From Address
By default, the Contact Form 7 From field uses a generic sender address for each form:
This is a bad idea, because:
- Most of us never create an email mailbox or user called “WordPress,” so there’s a good chance that this From Address doesn’t even exist.
- Using a generic or non-existent address on your contact form is confusing for your visitors.
- It also means emails from Contact Form 7 going to spam more often. This is a common problem that people have with Contact Form 7 and its default settings.
To fix this, you can make the emails sent from Contact Form 7 come from a real address that you control. When you get rid of the generic “WordPress” part, they will be less likely to appear spoofed. And the added benefit is that your customers will actually be able to reach you if they use this email in the future.
Create a New Email Address (Optional)
If you don’t already have a mailbox you can use as a sender, you’ll want to create one in your hosting account.
We’ll show you how to do this using Bluehost as an example.
Go to your cPanel dashboard on your web host’s website and find the Email settings.
Find the domain that you want to use with your new email account and click Manage.
On the left, you’ll want to click on the Create button to add a new email address.
On the Create an email account screen, you’ll want to set up your mailbox like this:
- Domain: Pick the domain name that matches your website
- Username: This will be the part before the @ in your email address
Then click the blue Create button to finish setting up this new email address.
Now let’s step through your Contact Form 7 settings so that emails are sent from this new mailbox.
Change the From Email in Contact Form 7
Let’s take a look at your Contact Form 7 email settings to see if they’re configured correctly.
You’ll find all of your contact forms when you click Contact » Contact Forms in the sidebar.
Find the form you’re having trouble with and hover your mouse over it. Click on the link that says Edit.
On the Edit Contact Form page, scroll down a little and click on the Mail tab.
On the Contact Form 7 email settings screen, change the From field to the new email address you just created in your cPanel.
Next, check that the Additional headers section says
On the contact form,
[your-email] is the name of the email field. So by using this tag as the reply-to address, any replies will go to the visitor, which makes more sense than sending them to your own account.
Now, scroll all the way down and hit Save.
Unfortunately, you may not be an advanced technical person so fix #1 might not work for you, especially if this doesn’t solve the problem completely. Luckily, fix #2 provides you an option anyone can do themselves, even beginners.
So if you are serious about fixing your email deliverability issues once and for all, here’s the easiest way to fix WordPress not sending email when using Contact Form 7.
2. Set Up Contact Form 7 SMTP Settings
Next, we’re going to install the WP Mail SMTP plugin on your site.
WP Mail SMTP is the best SMTP plugin for WordPress. Instead of relying on your web hosting server to send emails, WP Mail SMTP sends them through a separate email provider.
By doing this, you’ll make sure that your emails are delivered every time. They won’t be filed as spam or silently discarded by an email server.
Sending through a 3rd party service adds important verification to the messages, so this is a crucial step, even if you already changed your From address in CF7.
There are free and paid mailer options, so you’ll easily find a service that works for you.
As you’ll see below, configuring Contact Form 7 SMTP settings is extremely easy with WP Mail SMTP.
Install WP Mail SMTP
To start, you’ll want to download the zip file from your WP Mail SMTP account. You’ll find it in the Downloads tab.
Next, open up the WordPress dashboard and upload the plugin to your WordPress site.
If you need help with this, jump over to this guide to installing a WordPress plugin.
Don’t forget to Activate the plugin. As soon as you activate it, the Setup Wizard will open.
You can also start the wizard by clicking the Launch Setup Wizard button in your WP Mail SMTP settings.
Next, we’ll set up your email provider.
Choose Your Email Provider or SMTP Server
Now let’s run the setup wizard to create the connection from your WordPress site to an email provider.
This is easy, even if you’re not a technical user.
Click the Let’s Get Started button to start connecting your WordPress site to an email provider.
In the first step, it’s time to choose your mailer. WP Mail SMTP will connect to an API to send your emails unless you choose Other SMTP, which uses regular SMTP settings.
Not sure what to pick here? We have a few tips to help you make a decision:
- SendLayer is an affordable transactional mailer that works great for small businesses. It’s super reliable and easy to set up.
- For large sites, SMTP.com or Sendinblue are dependable options. Either of these mailers can handle large numbers of emails generated from your site.
- WP Mail SMTP supports Gmail or Google Workspace accounts. Both are great choices for small sites that don’t generate tons of emails.
- Other SMTP lets you use any SMTP server that you have access to. Some providers will limit the number of emails you can send, but this is another great option if you’re just starting out. Be sure to use the correct SMTP port if you choose this option.
- If you want to be able to send a large number of emails, it’s best to start out with the right provider. Check out this guide to transactional email providers to see full reviews of the best mailer services for WordPress.
All set? Jump to the doc for your chosen mailer to complete the set-up steps:
|Mailers available in all versions||Mailers in WP Mail SMTP Pro|
|SMTP.com||Microsoft 365 / Outlook.com|
|Google Workspace / Gmail|
Need a hand?
Don’t forget that the Elite version of WP Mail SMTP comes with a full White Glove Setup service for SendLayer, Sendinblue, or SMTP.com. So if you’re not comfortable doing the setup yourself, you can purchase Elite and have an expert set it up for you.
If you want to set up multiple mailers, you can do so in the Additional Connections settings once you’ve finished the Setup Wizard. Then you can select a Backup Connection and configure Smart Routing.
When you’ve set everything up on your email service website, come back to this guide to enable email logging on your site.
Turn on Email Logging (Optional)
At the end of the wizard, WP Mail SMTP will ask you which features to enable.
By default, 2 essential tools will already be turned on in the plugin settings:
- Improved Email Deliverability: WP Mail SMTP will route all of your messages through your new mailer
- Email Error Tracking: WP Mail SMTP will alert you if it detects problems with your DKIM, SPF, or DMARC records.
We recommend that you also turn on Detailed Email Logs and the Weekly Email Summary.
Detailed Email Logs will track your WordPress sent emails so you can easily see the status of each one in Complete Email Reports.
Even better, the Pro version also includes a helpful dashboard widget for your WordPress site. The widget shows sent and failed emails on a chart. That makes it easy to spot issues with your emails quickly. And if your mailer supports it, it’ll even show you if emails were Sent and Delivered.
Our log screen lets you search for different types of sent emails and notifications so you can quickly check the status.
The Weekly Email Summary sends a roundup of your latest email delivery stats to your inbox. You can also turn on Instant Email Alerts if you want to be notified when your site fails to send an email.
Finally, there are some advanced email logging features we recommend as well.
If these features are enabled in WP Mail SMTP, you can also:
- Save the full content of all your Contact Form 7 emails
- Resend failed emails in bulk, or forward individually to a different address
- Store Contact Form 7 attachments along with sent emails
- Track email opens and clicks for every email you send from Contact Form 7
To see more awesome features, check out this article on how to log your WordPress emails. All of the features are multisite compatible, so this is a super powerful tool!
And when you’re ready, don’t forget to head to the email reports page:
From there, you can generate awesome report charts with custom dates like this one:
Should you encounter any errors with WP Mail SMTP, don’t worry! WP Mail SMTP adds an email error log to your WordPress dashboard, which allows you to pinpoint the cause of an email issue. It also provides some context into possible solutions.
And that’s it! Now you’ve installed the most popular SMTP plugin to fix Contact Form 7 not sending emails!
FAQ on Common Contact Form 7 Errors
Do you have more questions on Contact Form 7 not sending email? Check out some more information on CF7 error messages and issues below.
- Does Contact Form 7 Use SMTP?
- Does Contact Form 7 Work on Localhost?
- What Email Address Do I Use in Contact Form 7 From Field?
- How Do I Connect Contact Form 7 to Gmail?
- What Does the Color of a Contact Form 7 Error Message Mean?
- The Message is Marked with a Green Border, So Why is Contact Form 7 Not Sending Email?
- How to Fix “There Was an Error Trying to Send Your Message. Please Try Again Later”
- How to Fix “Sender Email Address Does Not Belong to the Site Domain”
- How to Fix “Invalid Mailbox Syntax Is Used”
- How to Fix “Misconfiguration Leads to Mail Delivery Failure or Other Troubles. Validate Your Contact Forms Now”
- Why Is Contact Form 7 Not Sending Email to the Same Domain?
- Why Is Contact Form 7 Not Sending Email to Gmail?
- Why Is My Contact Form Stuck on the Spinning Wheel?
- Why Is Contact Form 7 Not Sending Email From Localhost?
If you’d like to browse through all of the FAQs, let’s get started.
Does Contact Form 7 Use SMTP?
No, Contact Form 7 doesn’t use SMTP by default. Instead, it sends emails through your web server, which is unreliable and can cause your contact form emails to get lost. You can install the WP Mail SMTP plugin to easily enable SMTP in Contact Form 7.
Does Contact Form 7 Work on Localhost?
Yes, WP Mail SMTP allows you to send emails via SMTP from localhost using Contact Form 7. It won’t work without an SMTP plugin.
What Email Address Do I Use in Contact Form 7 From Field?
You should use a valid email address that you actually have access to in your Contact Form 7 From field. The default WordPress address doesn’t have a mailbox associated with it and it’s often flagged as a spam sender by most mailing servers.
But if you use a properly authenticated email address in the From field (preferably at your own custom email domain), the chances of your Contact Form 7 emails getting rejected become close to zero.
How Do I Connect Contact Form 7 to Gmail?
You can connect Contact Form 7 to Gmail with WP Mail SMTP. We recommend using the Gmail mailer option in the Setup Wizard for the best security and features.
You can also use Gmail SMTP with the Other SMTP option in WP Mail SMTP. Note that some web hosting providers will block Gmail SMTP, so the Gmail mailer API is usually more reliable for Contact Form 7.
What Does the Color of a Contact Form 7 Error Message Mean?
Contact Form 7 has 3 color-coded error types:
- Yellow: This means your form has a validation error. For example, there might be a Required field that hasn’t been filled in.
- Orange: Your form submission has been marked as spam. This might be because of an issue with reCAPTCHA or Akismet.
- Red: The mail server failed. This often points to a hosting server problem that is causing issues with the
wp_mail()function. Try installing WP Mail SMTP to see if it fixes the issue. If it doesn’t, you’ll want to contact your host for help.
If the message is marked with a green border, keep reading.
The Message is Marked with a Green Border, So Why is Contact Form 7 Not Sending Email?
This usually means that your Contact Form 7 message has been marked as spam, or discarded on its journey from your site to the recipient. So it looks like your WordPress contact form is not working.
This happens when the plugin configuration settings are correct, but the outgoing emails don’t have the correct authentication. It’s super common to have this problem when you’re sending emails from WordPress.
To fix this, install WP Mail SMTP as we showed you in this tutorial. WP Mail SMTP will add the right headers to your emails so that they aren’t discarded by other servers after they’re sent.
How to Fix the Contact Form 7 Error “There Was an Error Trying to Send Your Message. Please Try Again Later”
If you see the contact form 7 sending message error, it’s usually triggered by Contact Form 7’s spam protection.
By default, Contact Form 7 only supports reCAPTCHA v3. This is the strictest version of reCAPTCHA, and it’s the one that users report the most problems with.
For more flexibility, we recommend switching to WPForms Pro. It lets you use a ton more methods to stop contact form spam, including:
- reCAPTCHA v2 “I am not a robot”
- reCAPTCHA v2 invisible
- reCATPCHA v3
- Custom CAPTCHA
- Email allowlists and denylists
Upgrading to WPForms is worth it because it has so many extra features that Contact Form 7 doesn’t have. It’s also a lot easier to make an Elementor contact form with WPForms vs Contact Form 7.
How to Fix “Sender Email Address Does Not Belong to the Site Domain” Contact Form 7 Error
The error “Sender email address does not belong to the site domain” means that the domain in your From Email doesn’t match your website’s domain name.
You can sometimes improve email deliverability by using an email that matches the domain that the message is sent from. But the emails will still lack authentication from the server, so it probably won’t solve the problem entirely.
It’s still best to install WP Mail SMTP because this is the only way to add authentication to your WordPress emails.
How to Fix “Invalid Mailbox Syntax Is Used” Contact Form 7 Error
If you see “Invalid mailbox syntax is used,” this means you’ve made a mistake when typing in the From Email (sender address) in your Contact Form 7 Mail settings.
To fix this, check for typos and formatting mistakes in the From Email address you typed in.
How to Fix “Misconfiguration Leads to Mail Delivery Failure or Other Troubles. Validate Your Contact Forms Now”
The error “Misconfiguration leads to mail delivery failure or other troubles. Validate your contact forms now” means that you have something in your contact form settings that Contact Form 7 doesn’t allow.
Sometimes, this Contact Form 7 configuration error seems to appear for no reason. This can happen when Contact Form 7 is updated with a new validation rule.
You’ll want to go through the Mail tab carefully to address highlighted errors.
If you can’t figure out the source of the issue, it’s usually easier to switch to another free contact form plugin.
How to fix “Contact Form 7 Failed to Send Your Message”?
This error can usually be fixed by adding some form field tags in your contact form email.
To do this, click on the Mail tab and scroll down to the Message Body area. If it’s empty, then this has been known to cause errors.
You can try copying one of the form field tags from the Form tab and pasting it within the Message Body field in the Mail tab.
Make sure to wrap your tags with square brackets to avoid issues.
Why Is Contact Form 7 Not Sending Email to the Same Domain?
If Contact Form 7 is not sending email to the same domain your site’s hosted on, it’s usually an issue with one of these 2 issues:
Hosting Server Email Settings
You’ll want to check that your domain email is configured correctly in your hosting account.
Check with your hosting provider and ask them to verify the mailserver settings on your account.
Domain’s DNS records
Your domain name needs valid MX records in order to receive email.
And to send emails with authentication, it may also need a DMARC record, 1 valid SPF record, and a DKIM record as well.
To check your domain’s DNS records for sending email, you can send a test email from WP Mail SMTP in the Test Email tab.
After sending a test email, WP Mail SMTP will report any missing records or misconfiguration in your DNS.
Why Is Contact Form 7 Not Sending Email to Gmail?
If your Gmail account is not receiving emails from Contact Form 7, this is likely because the emails don’t have any authentication. This is usually the case when WordPress is not sending email reliably.
And if you do receive emails to Gmail, they might see a warning on them, like “be careful with this message“.
You can fix Contact Form 7 not sending emails to Gmail by installing WP Mail SMTP. It’s the best SMTP plugin for Contact Form 7 because it’ll add the correct verification to your emails.
Why Is My Contact Form Stuck on the Spinning Wheel?
Sometimes, Contact Form 7 will submit, but you’ll continue to see a spinning wheel and the form doesn’t work. If you’re using Flamingo, you may also find the message is not saved.
Occasionally, this happens when there’s a new release of Contact Form 7. This can cause serious issues with existing forms.
Contact Form 7 users are normally told to disable all other plugins and switch to the default theme. This could help you to identify a conflict, but it doesn’t help you to solve the problem.
So there are 2 other things to try.
Regenerate Permalinks in WordPress
In your WordPress dashboard, head to Settings » Permalinks.
Change the Permalink structure and click Save. Then change it back to its previous setting and click Save again.
This will safely rebuild your
.htacess file, which sometimes fixes issues with Contact Form 7 spinning and not sending email.
Switch to WPForms Lite
For better functionality and support, you can import your Contact Form 7 forms into WPForms Lite, which is 100% free forever.
WPForms is also a lot easier to use because it’s 100% drag and drop. So you don’t need to write code to build a form.
The support in WPForms is also awesome. Even if you choose the free version, you can access help from a team of experts on WordPress.org. You’ll always get an answer to your question within 1–3 business days.
Check out this comparison of WPForms Lite vs Contact Form 7 to learn about the extra features you’ll get when you switch!
Why Is Contact Form 7 Not Sending Email From Localhost?
The default WordPress mail functions don’t work with localhost sites. This means you won’t receive any Contact Form 7 notifications from your localhost WordPress installation.
However, there’s an easy fix to this problem. All you need is WP Mail SMTP, which reconfigures your default WordPress email settings to use an SMTP server. The result is that you can receive notifications from Contact Form 7 even with your localhosted WordPress site.
Fix Your Contact Form 7 Emails Now
Next, Use a Gmail Alias With Contact Form 7
Now that you’ve installed Contact Form 7, you can use different Gmail or Google Workspace aliases to send emails from different WordPress contact forms. This is an awesome way to have different forms sending email from different teams or departments.
Check out this guide to using Gmail aliases in WordPress to find out how to set up this powerful feature.
Ready to fix your emails? Get started today with the best WordPress SMTP plugin. WP Mail SMTP Elite includes full White Glove Setup and offers a 14-day money-back guarantee.
If this article helped you out, please follow us on Facebook and Twitter for more WordPress tips and tutorials.
Great article, will try it since I have a problem: my WP site it’s on a provider and the Domain IP points to this host but my email accounts are in another host.
it seems that even though the domain is the same the mail is not being sent at all unless i miss something else.
In many cases, you also need to make sure that the DKIM, SPF, and PTR records are set properly in your DNS. There are many hosting environments where your hosting company either does not or can not generate these records for you. GoDaddy for example does not set these up by default, and any situation where your Domain and Web host are different companies, this applies as well. If you are using cPanel as most hosting companies seem to do these days, you need to go to EMAIL > Email Deliverability and it will show you if you need to update your DNS. If you do, just copy the records it auto generates into your Domain’s DNS and this should fix the problem.
Your images are unreadable.
It appears Contact form 7 has no idea where to send the messages. Where is the mailto field configured?
Thank you for the feedback- we’ll be updating the images for this article soon! We apologize for the inconvenience in the meantime.
You can set the recipient email address for Contact Form 7 by going to the Mail tab’s To field (see this screenshot). For more help with using Contact Form 7, you may wish to reach out to their team at their support forum.
Hope this helps!
Hello good time
I could not solve my problem, I have two sites on the host, one works properly and the other does not work with the same settings, does not show a specific error
thank you very much for your help
Sorry to hear you’re still having issues Contact Form 7 not sending email. It’s difficult to say what the problem might be without seeing the forms.
I’d recommend reaching out to our support team for further assistance. They can help you to investigate this.
If you have a WP Mail SMTP license, you have access to our email support, so please submit a support ticket.
Otherwise, we provide limited complimentary support in the WP Mail SMTP Lite WordPress.org support forum.
hello my domain dedicated ip had a low reputation a while back currently its rectified but gmail still was blocking my out going mails from cf7, so I used wp smtp with gmail account I see the emails are reaching the receiver but they are still deposited in spam folder despite using gmail with smtp instead of my cpanel server smtp, any advice??
2. after setting up smtp with gmail what should on the from address in cf7?? , becouse currently i left the email from my domain
I’m sorry to hear that you’re still running into issues with Contact Form 7 not sending emails. Without seeing more details, it’s hard to say what might be causing the issue.
For the From Address in Contact Form 7, you should use the same From Address you have set up in WP Mail SMTP. I’d recommend reaching out to our support team for further assistance. They can help you to investigate this.
If you have a WP Mail SMTP license, you have access to our email support, so please submit a support ticket.
Otherwise, we provide limited complimentary support in the WP Mail SMTP Lite WordPress.org support forum.
I am using gravity forms and it has a from and to email address. It is recommended to use our company name; say [email protected] to [email protected].
We have an internal servers for mail (*@acme.com) with spam filters and firewall. When they see something coming from the [email protected] to [email protected] it is rejected, because our firewall and mail review mechanisms believe someone is spoofing us.
Have you come across this and what is the solution?
The solution should be pretty similar for Gravity Forms. Using WP Mail SMTP with a reliable API-based mailer such as Sendinblue, SMTP.com, SendGrid, or Mailgun should typically help you avoid these types of issues with firewalls and mail review mechanisms.
If you need more help with setting up WP Mail SMTP to avoid the spoofing issue you’ve mentioned, I recommend reaching out to our complimentary limited support in the WP Mail SMTP Lite WordPress.org support forum.
Alternatively, if you already have a WP Mail SMTP license, you have access to our email support, so please submit a support ticket and we’ll be happy to help!
I hope this helps!
Thank you 🙂
I was getting contact from 7 email sending error in a red box and was able to solve it. In my case, the issue occurred after I changed my Gmail account password which was connected to the WP SMTP. Therefore it started having access error. What I did was to click on “WP Mail SMTP” on WordPress and click “Settings”. Then click “Remove Connections”. After that click “Allow plugin” and select the respective email account again to connect to WP SMTP.
The OAuth token in Gmail will reset for any event breaking the connection, including but not limited to:
– Changing Google password
– Enabling or disabling 2FA
– Google account access reset
– Activation of Google advanced protection program
– Revocation of the app to profile
– App OAuth permission revoked by Google
– App moved from public mode to private/internal mode by Google (or by a user whose user domain is not in the allowed org domain zone)
– App verification failure on reaudit
– Suspension of Google account
– User requested linked account unlinking
– The user does not use the app for 6 months (automatically expires refresh token)
– The user adds/removes sensitive or needs review scopes to the app but does not complete the app review process
– If the user is at the maximum limit for OAuth tokens to a Google profile (50) or for the service (25 for example in analytics), activation of a new refresh key will also automatically revoke the earliest key
When you perform such changes on your Gmail / Google Workspace account, you need to recreate the connection on your website.
The organization I work with uses Contact 7 and when we receive emails from our Contact Us form we are not receiving the email address of the commenter. We have a field listed as “Your Email” but when we receive the messages that email is not showing up.
I’m a complete novice, so forgive me if this is an easy fix. I had done some searching and seen the issue but don’t fully understand how to resolve it.
Under Additional Headers we have “Reply-To: [your-email]”
Any and all help is greatly appreciated.
Basically, you need to add that field name ([your-email]) within the “Message Body” section of the Contact Form 7 notification settings.
In case it helps, please refer to this screenshot.