Contact Form 7 Setup Mistakes and How to Avoid Them

Contact Form 7 is without a doubt one of the most popular WordPress plugin for creating contact forms. It’s so popular mainly because it is a free tool but also because it is solid and it simply does the job. But there are times when things become complicated, when you know that someone submitted a form but you didn’t get it, when you feel that WordPress is acting against you…fear no more…I’m here to help you out!

I want to talk about the most common mistakes people make when working with Contact Form 7 and come up with solutions for each one of them. Stop loosing any more leads(and money) and set up your contact form the right way, by following this guide.

#1 – Not using the right web hosting provider

Yep, you read it well. Similar to building a house, building a website should follow the same principle if you want to pass the time test: have it on a rock-solid foundation.


“Don’t build your house on the sandy land”


The problem:

Let’s face it. People pick a web host based on what their friends are using or what a “microinfluencer” might be suggesting. (anyone seeing too many Bluehost suggestions lately?) Or maybe you tried to find some honest reviews on the internet? I wouldn’t bet on the honesty, though. Anyway, with web hosting providers, you usually get what you’re paying for.

While doing my job as a happiness engineer here at DeliciousThemes(yep, I’m the one which does the “support” thing for my themes too) I sometimes stumble upon users which are still hosting websites on servers with PHP5.3 still running. What does it mean, you may ask? Well, the 5.3 version of PHP was released on 30 June 2009(ancient times, digitally speaking) and was supported until 14 August 2014. What?

For me, this is a super strong signal that you should stay away from such providers. An old PHP version running on a server means that the server is also outdated(here’s an exercise: compare a PC from 2010 with a laptop from nowadays – big differences when it comes to performance), not to mention the rest of the package: Apache, MySQL and so on.

As you can(not) see from the above image, the oldest PHP version that is still under development is v5.6 which is going to be discontinued at the end of 2018. My suggestion for you is to check that you’re running at least PHP v5.6. Best, use PHP 7.0+ (fun fact: they skipped the v6).

So what this has to do with Contact Form 7?

A lot!

You see, Contact Form 7 is using the default wp_mail(); WordPress function to send the forms to your email. Some webhosting providers(usually, the ones which go into the above criteria) disable this function just to save some work for their already heavy-loaded servers. There are also cases when servers could have disabled outgoing messages from cPanel accounts (eg username[at] There are also many other reasons, but the idea is that you don’t get the forms to your emails and users also get these messages after submitting a form:

One, the server failed to send the message and two, the server considers that the content is spam so it should not be delivered.


The solution:

Use a decent web hosting provider for your websites.

Personally, I tested and seen many web hosting configurations and did a lot of experiments to find the right webhosting provider(from the price and features point of view) and I actually found a sweet spot. It’s called Siteground(aff) and is the one which powers all of my websites.

There are three possibilities here: you heard about it, you already use it for your website or it’s the first time when the word pops into your eyes. If you already using it, great for you, you’re on the right side. If you don’t use it already, let me tell you a few words about them.

SiteGround is what I call a “hybrid” webhost. They’re a combination between “shared hosting” and “managed WordPress hosting”. Shared hosting means that you can host more than just one website on your package. This is good, because for the same price, you can host multiple websites under the same roof. On the other side, “managed WordPress” means that the entire infrastructure is built with WordPress users in mind. From hardware to software, they do everything for WordPress.

What I love about Siteground and the main reason why I use them is the attention they bring to performance: SSD Storage + HTTPS(free with Let’s Encrypt SSL Certificates) + PHP7 + HTTP/2 + SuperCacher(server-level caching)  as standard is without a doubt one of the most advanced setups that you can get with a web hosting provider. All those techy-words mentioned means that your website will run super fast.

Of course, there are other players worth mentioned here, like WpEngine or Flywheel, but comparing the service/price ratio, SiteGround is the winner. Just my two cents…

Because I’m already a SiteGround customer, I was able to negotiate a sweet deal for you. Sign up to SiteGround and save 50% on your order!


#2 – Not using the right format email address

The problem:

Not using the right format email address to which to receive the forms is probably the most popular Contact Form 7 setup mistake. And this is why you don’t get the submitted forms: because the email address you put into the “To” field is not the right type. Here’s the wrong setup:

Here’s a wrong setup:

  • my website is
  • the email address I put into the field is different than my domain name. Ex: – it ain’t going to work.

With the latest Contact Form 7 versions, you’re now informed when a misconfiguration issue appears:

contact form 7 misconfiguration issue

The solution:

Stop using generic email addresses, from email providers like gmail, hotmail, aol, etc and use an email address related to the domain.

Here’s the right setup:

  • my website is
  • the email address I put into the field is following my domain name. Ex:


Easy peasy.

But what do you do if you’re still not getting the CF7 submitted forms, even if you did set the right-format email address? Well, this means that WordPress can’t deliver the emails and we’re back at issue no. 1 – get a proper get a proper webhosting provider because the wp_mail(); function is not working properly. You could bypass it by setting your site to send emails directly via SMTP, by using a plugin called Postman SMTP. Even if setting up the plugin requires a bit of skills, it does its job flawlessly so it’s all worth it!


The patch:

Backup your contact form submissions. Yep, you can save the contact forms into the database and see the messages in the WordPress dashboard or even export them as CSV. There are plugins which do it like Flamingo, built by the same team behind Contact Form 7. To learn more, check out my post on saving CF7 forms to database.


#3 Using Contact Form 7 in Demo Mode

The problem:

CF7 introduced a series of additional settings to further extend its functionality and one of them is called “demo_mode”. If you have this option to “on”, the contact form will skip the process of sending mail and will just display “completed successfully” as a response message.

I’ve  seen this issue on Contact Form 7 forms which were imported with some demo content, when people set up a website on a new theme which came with some dummy content.


The solution:

Check out the “Additional Settings” tab of your contact form and make sure that there is no such thing as “demo_mode: on” inside the textbox. If it is, delete it.


Wrapping Up

Okay, I think I covered pretty much everything you need to be aware of when setting up Contact Form 7: use a proper webhost(my advice available for any WordPress issues you might deal with), use the right email address to receive emails and check out the Additional Settings tab(sometimes, it might be full of surprises).

If you think I missed something, would love to check it out so make sure to comment below!


Click to rate this post!
[Total: 2 Average: 4]

Madalin Tudose

A web developer with a crush on SEO. Having my skin in the game of website development and digital marketing for more than 10 years already, you might consider me an expert. At least this is what people call me. Honestly, I HATE that term. I prefer to describe myself as a person who takes action and risks. I test every hypothesis, document every step of the process, and implement what works.