Bluehost WordPress SMTP contact form problems when hosted by Bluehost and using Gmail

Bluehost WordPress SMTP problem with Contact Forms and how I fixed it

It’s possible other people have faced this Bluehost WordPress SMTP problem. I don’t currently host with Bluehost, but I’ve had a client who is and I faced problems that seem specific to Bluehost. It seems the problem only showed itself when the MX Record was set for Gmail to handle the emails (a popular option as I prefer Gmail myself compared to the usual Cpanel options of Horde etc.).

Essentially, the problem is the email from the contact form doesn’t appear to be sent, despite the contact form displaying a message that the email was sent correctly.

To confirm, I used the popular WordPress plugin Contact Form 7, along with WP-Mail-SMTP. My client also installed the Flamingo plugin which showed the messages that were entered into the contact form and seemed to be accepted. (suggesting that the contact form itself wasn’t the problem).

Bluehost WordPress SMTP problem with Contact Forms and how I fixed it

What did I do first to try and resolve this Bluehost WordPress SMTP problem?

I tried a lot of different things to try and fix the problem. First, I tried the settings on the Contact Form. Then, I tried setting up plugins such as Gmail SMTP to route the contact form messages to the Gmail account my client had set up.

None of these seemed to work.

Bluehost support’s suggestion was to try a different plugin and to contact Google and the makers of the plugins I was using to resolve the issue.

Then, I found this great post from aldrinmercado.com which actually resolved the problem. He quotes a link to WP Beginner who had a relatively similar post about getting SMTP mails to work for contact forms (you can find that here) I’d been to that post by WP Beginner myself, but hadn’t been able to resolve the problem).

This is a pretty specific problem and so I’m not sure how many other people have faced this issue. However, the fix I found on aldrinmercado.com resolved the problem (and it turned out to be some settings in the MX Record on the Bluehost cPanel…).

I thought I’d write a quick account of my experience fixing this issue and following the steps first set out by Aldrin on his website in case they’re of any use to anyone.

Step 1 – Your MX Record settings:

Go to your Bluehost cPanel. Under the Email section, you’ll see a link for MX Entry. Click it. As Aldrin points out, it’ll take you to a page titled DNS Zone Editor.

I’d stay away from most of the settings on this page unless you know you need/want to change something specific.

The section you want here is MX (Mail Exchange). This is the setting that tells the world (i.e. incoming emails) what server is going to handle your emails (so, in this case, you probably already have Gmail set up to handle your emails for your site).

Click the More button (it’ll expand so you can see and change settings).

You’ll see three options – Automatically Detect Configuration, Local Mail Exchanger, and Remote Mail Exchanger.

In Aldrin Mercado’s post, he says it should be currently set on Automatically Detect Configuration. I found my client’s option was set on Local Mail Exchanger. This was despite the emails being handled by Gmail (and they were working as well – before doing this, I tried setting up an email address on cPanel and wasn’t able to log in to that mailbox. Bluehost confirmed that was because the server was set for all emails to be handled by Gmail – seems logical).

Just as Aldrin suggested in his post, you need to change this setting to Remote Mail Exchanger. Then click the Change button just below the options (that’ll save the setting).

Step 2 – Creating an email address through cPanel:

Go back to the main page for cPanel on Bluehost, and go down to the Email section again. This time, click on Email Manager.

The fact you’re facing this problem suggests you have your emails being dealt with by Gmail, so you probably don’t have any email addresses set up.

Click Create an email account and set up an email. Aldrin suggested making an email address that’s close to the email address you’re currently using in your Gmail. It doesn’t need to be similar, just make it logical – something like contact-form@yourwebsite.co.uk – that way you’ll recognise the email address when the contact form emails come through.

Now that’s set up, keep the email manager page open.

Step 3 – WP-Mail-SMTP plugin:

The WordPress settings for WP-Mail-SMTP to get contact forms to work on Bluehost

Go back to your WordPress login, install and activate the plugin WP-Mail-SMTP.

Go to the settings menu for the plugin (it has its own settings menu inside the mail WordPress settings menu. Just hover over the Settings link on the left side, and you’ll see the WP-Mail-SMTP link to the menu.

I’ll only mention the options you have to change/enter.

From Email:

Input the new email address you created in the email manager (contact-form@yourwebsite.co.uk, or whatever you happened to choose).

From Name:

I don’t think this makes any difference to the end result, but put something logical here. I put ContactForm as the name, again so I’d recognise the emails when they started coming through.

Mailer:

The radio button for Send all WordPress emails via SMTP should already be selected – if it isn’t (and it’s on the PHP Mail() option) change it to Send all WordPress emails via SMTP.

Save your changes – I’m cautious like that.

SMTP Host:

You need to enter box???.bluehost.com (where the ??? is a 3 digit number, essentially the server that Bluehost actually stores your website/emails/information etc.). I found the easiest way to get this information is to try logging in to the contact-form@yourwebsite.co.uk email address we set up in the cPanel email manager a couple of steps ago (or whatever the email address is that you set up in the email manager).

To do this, go back to the email manager in cPanel (see the previous step if you’ve forgotten how to get there and have closed the page).

You’ll be taken to the webmail login page for Bluehost. Use the login details you set up for this email address. You shouldn’t actually be able to log into this email address (at least I wasn’t able to). However, when you try to log into the email address, the status bar at the bottom of your browser should say something like “waiting for box236.bluehost.com…”. That is the 3 digit number you need (please note, that’s not actually the number for my client’s Bluehost server).

Enter what yours says into the SMTP Host box on the WP-Mail-SMTP settings page.

SMTP Port:

I set this to 465 (yours may already be on this). This setting is to do with the encryption type you select in the next option.

Encryption:

Set this to SSL (which is why you need to set the port to 465 above).

Authentication:

Set this to “Yes: Use SMTP Authentication”. You’ll need to enter the email address you created (your version of contact-form@yourwebsite.co.uk) and the password to access it.

Click Save Changes.

Step 4 – The Contact Form 7 settings:

This is specific to Contact Form 7 as that’s what I was using, but if you’re using a different plugin there should be some similar options so you should still be able to follow along.

Go into the settings for your contact form in the Contact Form 7 menu. You should be presented with 4 tabs (Form, Mail, Messages, Additional Settings). Click on Mail.

Here’s what you need to enter:

To:

Put in the email address that’s handled by Gmail (presumably the main email address for your business. For example, my main email address for me is hello@scottcole.net). This should still be @yourwebsite.co.uk, it’s just that Gmail handles the emails for you…

From:

Put in the email address you created in Step 2.

Subject:

As with the other steps, put something logical in here, like ContactForm.

Message Body:

Now, I’ve read elsewhere that Bluehost reads contact forms slightly differently (I don’t know if this is the case or not, and I don’t know if all host servers do this or not; I haven’t had a chance to test it, so if anyone does know then please let me know). I’ve been informed you must put “From:”, “Subject:”, and then “Message Body:” like this, inside the Message Body box:

From: ContactForm <contact-form@yourwebsite.co.uk>

Subject: [your-subject]

Message Body:

Message: [your-message]

Customer Name: [your-name]

Customer Email: [your-email]

Contact Number: [your-tel]

 

Once that’s complete, test your contact form! It should now send contact form emails to your Gmail address, from the email address you set up in the email manager in cPanel.

Conclusion:

It took me a while to find Aldrin’s post. The steps that saved me seem to be the MX Record and setting up another email address in the email manager in cPanel.

As I said at the beginning, this is a very specific problem and it may be there are other ways around this. It may also be that there are some options (for example in Contact Form 7) that just aren’t necessary.

If anyone has anything to contribute to this, I’d be really grateful if you could leave some comments in the comment section.

By: Scott Cole

November 29, 2017 |

Here're some other posts you might find helpful!

5 top WordPress plugins that will give you advantages now

5 top WordPress plugins that will give advantages now

Every website, every company, is going to have a different list of requirements when it comes to functionality. That’s a given. However, there are a few plugins I’ll typically install on any website I create for a client. These are WordPress plugins that tend to give immediate advantages. So, what are my 5 top WordPress […]

Why having a mobile first website is crucial to business growth

Why having a mobile first website is crucial to business growth.

What is mobile first? Well, you probably have heard of mobile responsiveness when it comes to websites. It just means a website is built for desktop browsers but will transform gracefully for mobile devices. That’s great, and it has a wealth of benefits. Some of those benefits are the same as the ones I’ll talk […]

5 quick WordPress speed boosting tips

5 quick WordPress speed boosting tips - Getting started on making your WordPress site faster

What is this for? I’m a big fan of making sure websites are optimised well for speed (as well as many other things). I also understand that not everyone has the time to learn about slightly more complex and time-consuming methods for improving website speed. So, I thought I’d throw together these 5 quick WordPress […]

13 responses to “Bluehost WordPress SMTP contact form problems when hosted by Bluehost and using Gmail”

  1. Rodrigo says:

    Thanks! Thanks! Thank! You save my day, month, year!

  2. Hal says:

    Wow. After 7 hours of working on this, I found your post. It worked. I was having the same Bluehost issue, WordPress, contact form issue and had been running into roadblocks all day. One thing I couldn’t get to work from your instructions was getting the incoming mail server identification from trying to login to the Bluehost email and watching the status bar. Finally found it in the Bluehost Email Client Configuration tab. Thank you for solving this major issue!

    • Scott Cole says:

      I’m glad it was useful! I found myself working on this problem for quite a few hours as well – hence why I decided to write this guide 🙂 glad to be of service!

  3. Laren says:

    This was a HUGE help to me. Thanks Scott!!!!

    At Step 3 – I chose a different plugin ‘GMAIL SMTP’ which also managed this issue. But it requires quite a few extra steps in the Google Developers Console to authorize the plugin to fully integrate with google gmail. The plugin links to a decent help page explaining the process.

    So if you tried the method here, and still have trouble, you might try this plugin.

    • Scott Cole says:

      Hi Laren,

      I’m really glad this was helpful. Thanks for posting up some info on using a different plugin as well – I hope that’ll be useful for anyone that comes here that has gone your route with that plugin!

  4. Rizwan says:

    my contact form was working fine last year.. i just checked its not working anymore. after clicking the send button it directs me to error page saying:

    username@domain.org does not appear to be a valid email address on this server (you cannot send to an external email address).
    Could not get email address, or email address not valid. mailto{addr}

    please help

    • Scott Cole says:

      Hmm that does seem strange – if there’s a problem, I usually only experience the contact form doing nothing (or the page failing to load properly if there’s a problem with the underlying PHP code that makes the form function).

      Can you answer a couple of questions for me please? I’ll see if I can help you resolve it.

      1. Are you using Bluehost hosting, and do you have a Gmail business account handling your host’s emails (or are you using Bluehost’s email system?)
      2. The email address you’ve set to be the one that receives the contact form emails – is that an email address handled by Bluehost (accessible through Bluehost’s cPanel), or is it a Gmail business email address (where you log in to Gmail, but the address is @yourdomain.com)?
      3. The email address that is SENDING the contact form emails – is that an email address set up through Bluehost’s cPanel?

      Hopefully I can help you find a solution!

      Many thanks,

      Scott

  5. Rizwan says:

    Dear Scott,

    Thanks for your response. I have been using this contact form on Bluehost for more than 5 years. And i was shocked when it stopped working.

    • Scott Cole says:

      Hi Rizwan,

      You’re welcome. Based on what you’ve told me, there should be no reason it’s not working (I was surprised when you told me it stopped working after quite some time of being absolutely fine).

      When I’ve faced problems with contact forms before, they typically LOOK as if the contact form email has sent (positive confirmation messages are given on the web page) but the emails just don’t turn up.

      As the email address is one of Bluehost’s, I’d request some help through their live support chat system. There could be a few reasons the form has stopped working, but as the email is Bluehost’s they should be able to look into it for you.

      If you still face problems once you’ve spoken with Bluehost, please let me know and I’ll see if there’s something further I can look into. Feel free to email me at hello@scottcole.net if you don’t find a solution through their chat support system.

      Many thanks,

      Scott

  6. Rizwan says:

    Email Address is actually from bluehost CPanel
    username@yourdomain.org

  7. Rizwan says:

    Thanks Scott, I have sent you an email. Looking forward to your response. Thanks once again.

Leave a Reply

Your email address will not be published. Required fields are marked *