Contact Form 7 Broken on WordPress – GoDaddy, MS Exchange Email Spam Issues Likely Cause

Featured image for EricHepperle.com blog post on solving GoDaddy broken Contact Form 7 email issues with Exchange Admin Center spam exception (Credit: Eric Hepperle, 2018)

Picture this. You just finished building a very basic WordPress website using any one of several popular contact form plugins including WPForms, Gravity Forms, Ninja Forms, Pirate Forms, or the old stalwart (and arguably the easiest contact form plugin to set up and configure), Contact Form 7.

Maybe you’ve designed a detailed custom contact form with all the bells and whistles to gather as much information from users as possible. Or maybe you have decided to stick with a basic WordPress contact form and avoid complications. Your next step is to test your form. But, upon sending your first test message, you get an error that says that the message failed to send, or even worse — a confirmation displays in your browser saying the message was sent successfully, but you can’t find it anywhere in your inbox.

The Contact Form 7 plugin should be fairly easy to set up; all the video tutorials you’ve watched and blogs you’ve read say so. You dutifully follow all the instructions and send your first test message. But, to your dismay, you find no emails in your inbox. You might conclude that your Contact Form 7 plugin is broken.

What are you going to do now??!!

Has this ever happened to you? If so, you are not alone. According to the GoDaddy representative I spoke with yesterday (08/21/18) this issue is so common, he has personally had to train at least three different email support divisions within the company on how to fix it. In this blog post, I will explain the steps necessary to solve this contact form problem.

Why isn’t my contact form sending to my email?

There are a few reasons you may be experiencing the issue of “contact form not sending to email” including contact form plugin not set up correctly, issues with SMTP (Simple Mail Transfer Protocol) configuration, or overzealous spam filters. Let’s discuss each of these in more detail.

Ensuring correct contact form plugin setup

First, you must make sure your contact form email (and SMTP plugin, if applicable) settings are all set up correctly.

According to many YouTube videos and web tutorials, it should be a cinch to get a basic contact form working. Let me show you how easy it is supposed to be.

YouTuber Jordan Alexo says Contact Form 7 is probably the easiest contact form for newbies to set up.

“This plugin is ideal for beginners. Who normally don’t want to spend time setting up complex features or learning coding. You can nearly install this plugin and immediately start using it in your WordPress website.”

— Jordan Alexo

Another popular YouTuber, Bjorn Allpas at WPLearningLab provides these guidelines about what the fields in the Mail tab are:

  • To: The email address where the contact message is sent upon submit
  • From: The email address that the messages will be coming from.

That’s pretty much all you need to know to have an up-and-running simple and basic contact form. Allegedly.

That didn’t work for me, so I started troubleshooting.

Setting up WP Mail SMTP

Next, I began looking at SMTP as the possible culprit based on this article from WPForms, maker of another popular contact form plugin. The article has this to say on why using an SMTP plugin might be the answer to getting WordPress contact forms to send:

WordPress uses the PHP mail function to send emails generated by WordPress or any contact plugin like WPForms. However, many WordPress hosting servers are not configured to use the mail function.
Additionally, in order to reduce spam, your email provider often checks whether your email is originating from the location it claims to be originating from. For example, if your email server is yahoo.com but your email claims to be sent from your website’s domain, chances are your form notification will be blocked before it even reaches the spam folder.

— WPForms.com

Many articles about this contact form not sending issue — including this one from Contact Form 7’s own website — mention recent (since 2016) policy changes within ISP’s and web hosts trying to prevent spam. These sources explain that the email message sent from the contact form may end up in your Spam folder if the domain of the website where the contact form resides doesn’t match the domain of the email.

Calling GoDaddy for support

I installed WP Easy SMTP contact form plugin easily enough. The configuration seemed easy, but apparently I had something wrong. The plugin includes a handy “Test” button where you can see if your form is sending. If you are not receiving any emails from a contact form, one of two things is the case: Either your form cannot send or your form is sending, but your email is not reaching the inbox.

At first my form was not sending. After a bunch of troubleshooting, I called GoDaddy. Their representative had no clue, though he tried to be helpful. He said he had never heard of this issue, but he verified that the servers were working on his end. That’s something I might get into more later — the trouble with saying “the servers” and not clarifying whether you are talking about email servers, web servers, or some other kind of server. I realize it is likely that non-technical folks might just refer to “the servers” because that was what they were taught, and if asked, they couldn’t tell you what a server really does.

But, at the time I didn’t know that I needed to ask to be transferred to Email Support. GoDaddy has an entire support division dedicated to just email.

GoDaddy couldn’t help me, though. I prepared to resume troubleshooting by first disabling WP Easy SMTP. All of a sudden my contact form was sending — at least it was saying

Thank you for your message. It has been sent.

That was a clue, but left me even more confused. I was using Mozilla Thunderbird as my desktop email management application since it was free. I had my Spam/Junk folder set up also and had consistently checked it, but nothing ever was received in it. So, I ruled out that my contact emails were being routed to spam. Part of the problem is ambiguous language. Big time.

Next, I tried to solve my contact form issue by creating this scenario (not the real domain):

  • Web URL: mydomain.com
  • From Email: eric@mydomain.com

Imagine my surprise when it didn’t work.

I had trouble changing the site email address (the one you enter when you first setup and install your WordPress self-hosted website) also. It had a gmail address and I tried to change it to eric@mydomain, and a message displayed under the email field saying the email change was pending. This means go to your email and click the “confirm email change” button in your inbox. But, when I checked my inbox — you guessed it: there was no confirmation email. I’m guessing this issue and the contact form not sending are both related.

So SMTP wasn’t necessary in my situation, and neither contact form emails, nor emails sent from the WordPress application were getting through.

My second call to GoDaddy

I posted some calls for help on WordPress.org and Stack Overflow immediately after that original call to GoDaddy. The most useful tip is I got from the forums was that It most likely was an issue with GoDaddy and Office365 and that I should call GoDaddy again to get them to configure the servers.

Then I called GoDaddy and this time was surprised to end up in the right division “Email Support” talking to an intelligent, courteous, and knowledgeable representative who was very familiar with this issue. He said the root cause was that Microsoft Exchange was intercepting the emails from the contact form. He explained that though it is important for the “From” email to have the same domain as the website the contact form lives on, because of GoDaddy’s added email security measures, and something about whether it was a cPanel email versus a dedicated email (?), one more thing was required before the contact form could act correctly: I needed to set up a spam email exception in Exchange Admin Center (EAC).

He walked me through it and I have recorded the steps here for you. Based on how hard I looked for this information on the internet and the amount of other people having similar issues and no solutions, I believe this is the first time these steps have been presented as a solution to the issue of contact form not sending emails.

How to set up a Microsoft Exchange spam email exception in Office365

You will notice the Microsoft Exchange Admin dashboard looks a bit like the dashboard in WordPress.org self-hosted websites. Here are the steps to login to Microsoft Exchange Admin Center and set an email spam exception for your web domain:

  1. Log into your GoDaddy email account
  2. In the same browser, different tab, navigate to https://outlook.office.com/ecp
  3. In the Exchange Admin Center (also called “Exchange management center” when translated from Dutch into English) click Protection (or Security) in the dashboard navigation menu on the left.

    Contact Form broken GoDaddy issue solved process: Creating a new spam filter exception (Credit: Eric Hepperle, 2018)
    Creating a new spam filter exception (Credit: Eric Hepperle, 2018)
  4. In the new menu that appears at the top, click Spam Filter. In my browser it was the third option from the left. Click the plus sign.
  5. Enter the new spam policy filter name and description. Leave other settings alone and scroll down.

    Contact Form broken GoDaddy issue solved process: Enter name and description for new spam filter exception (Credit: Eric Hepperle, 2018)
    Enter name and description for new spam filter exception (Credit: Eric Hepperle, 2018)
  6. Scroll down to find List of Allowed Domains or and click the “+” plus to add your domain name.

    Contact Form broken GoDaddy issue solved process: Click plus to add allowed domain (Credit: Eric Hepperle, 2018)
    Click plus to add allowed domain (Credit: Eric Hepperle, 2018)
  7. Scroll all the way to the bottom and select the recipient domain in the “If” dropdown.

    Contact Form broken GoDaddy issue solved process: Select address domain in the If dropdown (Credit: Eric Hepperle, 2018)
    Select address domain in the If dropdown (Credit: Eric Hepperle, 2018)
  8. In the subsequent dialog box, add the domain you wish to allow. Click Save to return to the main screen.

    Contact Form broken GoDaddy issue solved process: Click add button to complete the process (Credit: Eric Hepperle, 2018)
    Click add button to complete the process (Credit: Eric Hepperle, 2018)

Now your contact form should be working.

If I missed anything or you have suggestions for improvement please let me know in the comments below. Please share this post if you liked it!

Date Published: 2018-08-29
Date Updated: 2022-09-09

Eric Hepperle

Eric loves to write code, play guitar, and help businesses solve challenges with code and design.
Subscribe
Notify of
guest

19 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
Tevya

Did they happen to mention how to do this, if you’re not using Office 365? It seems this is happening to our plugin. But our client who uses Godaddy is not using Office 365, so this particular method won’t work for him.

Nick M.

For the good of the universe, I had similar issues using Contact Form 7 with my Godaddy supported wordpress site. I spent several hours working on it before I called GoDaddy. In my case, the form would say that the mail was sent but would never arrive at my GoDaddy e-mail address. Also, when I clicked, “Forgot my password” on the WordPress login screen it wouldn’t go through either, so the problem was with WordPress not sending e-mail, not my plugin having a problem. In any extent, the mail support guy fixed it in like 2 seconds. He said in… Read more »

ben

Yes exactly you will have to change the default mail routing setting from auto-detect to using external mail server, although it indeed is using godaddy legacy secureserver.net server.

Justin

It had taken me so long to find a fix for this issue on my website and was beginning to think GoDaddy hosted WordPress with Office365 just wasn’t going to work with contact forms. Thank you so much for documenting your problem solving. Contact form submissions now appear in Inbox every time. Cheers!

Lowell Klassen

If you try to do this now. A warning comes up at the bottom that says: “WARNING: Do not add domains you own or popular domains (e.g. microsoft.com) to the Domain allow list. This is considered high risk since it creates opportunities for bad actors to send you mail that would otherwise be filtered out.” I have had my office 365 hacked before. So I won’t be doing this method for this reason. Thank you anyways.

Nour

What about the SMTP info, what did you write there? in Easy SMTP plugin? also did you change anything in the MX Cords of the cPanel?

Romana

This is amazing thank you so much I was stuck for almost two weeks solely because of this contact form issue. I applied this solution and also the elementor pro form works great with this.

Sarah C Humphrey

Thank you!! This work perfectly for me to help a customer get their web form submittals!

Harold

good article. What if you have Bluehost instead of godaddy? I use my domain name email as the “From Email”(WP mailSMTP plugin). Do I need to contact Bluehost and ask them to setup a spam email exception? Thanks.

Gregory V

I’ll add a few cents to this. Since Godaddy isn’t hosting my DNS Records, On my side, within CPANEL, Email Routing -> Changed to remote mail exchanger.

For the email to spam issue, I did two things:
1. Updated the Contact 7 form to include an additional header, “MyStupidHeader: FromMySite”
2. Opened the exchange admin site outlook.office.com/ecp and in mailflow, rules, added a rule “bypass spam filtering, that reads if the message header matches the following pattern: “MyStupidHeader” with value “FromMySite”.

19
0
Would love your thoughts, please comment.x
()
x