Some say that their Contact Form-7 plugin won’t work on BlueHost, but it actually will work if setup properly. Here’s how to fix your Contact Form-7 to Work with BlueHost.
There are two rules:
1) You MUST use an email address that exists in your “Email Accounts” icon in your cPanel. If you didn’t create the email address in your cPanel, it won’t work. (Note that, even if BlueHost isn’t handling your mail/MX, this will still work as long as you create the email address in the Email Accounts icon)
2) You MUST specify the above-mentioned email address in your FROM header in the “Message body” section of Contact Form 7.
By default, the setting is:
FROM: [your-name] (your-email)
Setup an email account in your cPanel, and then replace [your-name] (your-email) with any name you desire, and the email address you have created.
In the image below, notice how I set my From to be:
From: Eddy <steady@wordpress.shadowlantern.com>

As long as your From uses a valid email address which exists in the Email Accounts icon in your cPanel, then your form should work properly.




22 Comments until now
This just fixed my contact form 7 problem. Thank you! I’m wondering why the content of the “Message Body” section is so important? Why do I have to include “From …” in the message body?
Because the BlueHost servers check the message headers to see where the email is being sent from. If they can’t authenticate it on their servers, it fails. That section is where it writes that data to the header from.
Thanks, this was exactly what I was looking for. You saved me from fooling around with WP Mail SMTP and it only took thirty seconds. Thanks, dude!
Janet, go into your cPanel and log into your email address, and test sending from it to another address, like a yahoo or gmail address, or something like that, then reply back, and make sure you can send and receive.
If your mail is being handled by BlueHost, make sure your MX is set to Local.
Then follow this tutorial and make sure that you have your address entered in 100% properly. Be sure that your name, is NOT the same as your email address. In my example I had “Eddy” as the name, but if I had tried to make my name be “steady@wordpress.shadowlantern.com” it would have failed.
so you can use Janet (replacing yourdomain with your real domain), but you can’t use something like janet@yourdomain.com
I’m still awaiting bluehost. I deleted the plugin and re installed it. I then went through each step you gave and rechecked to make sure everything was accurate. I made sure to put in a different name other than the domain name. Janet .
Its set to local server. I sent a test email from it and to it not utilizing the form. They were both successful. I even changed to a different contact form plugin…and still nothing. Does it matter that I am using googleapps? I tested the email using the bluehost webmail though…not google apps. I receive emails successfully through google apps, when they are sent regularly. Thanks for the help though.
Janet, it only matters that you’re using Google Apps if you try to define any server or address other than one listed on BlueHost. You have to make sure that your email address exists in Email Accounts, that your server is, in all lowercase, all one word, localhost, etc.
If it still isn’t working, feel free to email me what your domain name is and screenshots of what you’re seeing and I can check for any errors in it.
Yea the email was created in my blue host account prior to me using my Google Apps. Whats your email?
See the About page for the email address.
Thank you SOOOO MUCH!!!
I’ve spent all night trying to figure this out!
I’ve contacted support a few times and they finally set up an SPF record but even after that it didn’t work.
I had emails sent from name@box###.bluehost.com and now everything works fine!!
Thank you and all the best!
thanks,that corrected problem. Strange, it worked before.
hello, thanks for the post.
I’m having this issue but in the subsite of a multisite wordpress instalation.
Perhaps you have an idea of what’s going on.
Thanks !
L.
It should be the same for each of the subsites as it is for the main. Make sure that the address you’re using actually exists in your BlueHost cPanel and that you’re properly setting it in the from header. Contact Form 7 should work properly then.
Still strugling.
Thanks anyway !
I’m on JustHost, but even they sent me the link to this article.
I’m using Cloudflare, too. Perhaps it has to do with the error I’m getting?
THX!
I don’t see any reason CloudFlare would mess this up. It shouldn’t be redirecting your mail. If you want to test it though, maybe try making an A record for mail.yourdomain.com and point it to the IP address of your JustHost hosting account. Then create (or edit) your MX record so it points the zero 0 (top) priority to mail.yourdomain.com. Make sure mail is set Local and try again.
(Although it really doesn’t matter if mail is local or remote… As long as the proper settings exist it should work for you.)
If that doesn’t work, feel free to list me your domain name and the location of your form and I’ll take a look at it and see if I can give any better suggestions based on what I see.
hi,
thx for your time.
i’ve sent you a private email.
After a lot of help from the admin of this blog, I found out that my conflict with the contact forms 7 in the subdomain was originated by a conflict with Buddypress, which I was using in another subdomain.
I’d tell everybody to not overload a multisite network. WordPress is awesome, but if you’re tryin’ to do something too complicated, it’ll probably break in some instance. A good planification is a must.
Thank you for posting this! I saved it on Evernote in case I run into the same problem again.
One thing you may not have mentioned (didn’t read all the comments so don’t know if you responded to someone) but, in addition to setting up the email account in bluehost, you also need to set up the MX records correctly, for instance:
My client has a remote mail exchange server, so the A record is pointing to that and the MX server just points to mail.clientdomain.com.
However, I noticed that it was set up to local server as opposed to remote server, so when I left it as the default local server, then it kept all the email in bluehost mail servers and my client didn’t receive the emails.
Once I changed it to remote server, then my client was able to receive the email I had submitted through the contact form on his website.
AH-HAH! That was it! relief!
Thx again!
Hi, thank you very much for sharing this tip. I’m facing a similar problem that Janet described.
I’m using bluehost as webhost but have all my MX records pointed to googleapps. Per your instructions, I tried to create a new email account for this purpose using the Email Icon on Bluehost cPanel, but that email is not able to send / receive because of googleapps. How can I have Bluehost handle just that new email, and leave googleapps to handle everything else as is?
Thanks again!
Let me clarify something for you, Fortune Rice… You actually don’t want to send and receive from just that one email address. ALL of your mail, INCLUDING that one will be handled by Google. The big difference is that, if that email address exists on the BlueHost server, then you will be able to send. You still want it to be setup and working in your google apps though.
Just because it exists in your cPanel, does not mean that it has to send/receive from there.
Thank you! After spending an hour reading posts on WordPress.com yours was the solution that actually worked.
Add your Comment!