DEV Community

Allen Jones
Allen Jones

Posted on • Originally published at formgrid.dev

Why Your WordPress Contact Form Stopped Working in 2026

You did not change anything.

Your website looks fine. Your contact form is still there.
Visitors can still fill it out and hit submit.
They even see a success message.

But the emails are not arriving.

No submissions in your inbox. No
notifications. Nothing. Just silence.

If this sounds familiar, you are not alone.
Thousands of WordPress site owners experienced the same problem starting in late 2025 and continuing into 2026. And most of them
had no idea why.

This guide explains exactly what happened and gives you two ways to
fix it permanently.


What Changed in Late 2025

In November 2025, Gmail made a fundamental change to how it handles
unauthenticated emails.

Previously, Gmail would route suspicious emails to your spam folder, where you could theoretically still find them.
From November 2025, Gmail started rejecting non-compliant emails entirely at the server level. They never arrive anywhere. Not your inbox. Not your spam folder. They simply disappear.

Microsoft Outlook and Yahoo made similar enforcement changes around the same time. The result was that millions of contact form emails that had been working for years suddenly stopped being delivered
with no warning and no error message.

Your contact form was not broken.
Your hosting server was sending the emails.
But Gmail, Outlook, and Yahoo were quietly rejecting them before they ever reached you.


Why WordPress Contact Forms Are Affected

WordPress sends all emails, including your contact form notifications, using a PHP function called mail(). This function sends emails directly from your web server without any authentication or encryption.

Email providers like Gmail, Outlook, and Yahoo have strict filters that verify whether the server sending an email is authorized to do so. When an email arrives from a random web server with no authentication, those filters mark it as spam or reject it entirely.

Your form is working perfectly. Your hosting server is sending the email. But it never reaches your inbox because
Gmail sees it as suspicious.

Every WordPress contact form plugin is affected:

Contact Form 7: affected
WPForms: affected
Gravity Forms: affected
Ninja Forms: affected
Formidable Forms: affected
Enter fullscreen mode Exit fullscreen mode

The plugin itself is not broken. The problem is WordPress PHP mail, which every plugin depends on by default.


The Five Most Common Reasons Your

WordPress Form Emails Stopped Arriving

Reason 1: Gmail now rejects unauthenticated emails entirely

Before November 2025, Gmail sent suspicious emails to spam.
Now Gmail rejects them at the server level.
They never arrive anywhere. Your form is sending.
Gmail is refusing to accept.

Reason 2: Your host blocks or throttles PHP mail

Many shared hosting providers block or severely limit PHP mail to prevent their servers from being used for spam.
Bluehost, SiteGround, and other popular hosts have increasingly aggressive restrictions on PHP mail.

If you recently changed hosting providers and your contact form emails suddenly stopped working, this is almost certainly the reason.

Reason 3: Your domain has no SPF or DKIM records

SPF and DKIM are email authentication records that tell email providers your server is authorized to send emails from your domain. Without them, your emails look suspicious to spam filters.

Most WordPress PHP mail setups send emails without proper SPF and DKIM authentication, which is why they land in spam or get rejected entirely.

Reason 4: Contact Form 7 default settings use WordPress admin email

CF7, by default, sends notification emails from your WordPress admin email address using your server's PHP mail. If your server's IP address has been flagged for spam by any email provider, your notifications will be blocked or filtered.

Reason 5: No submission backup exists

This is not a deliverability problem, but it makes everything worse. When WordPress PHP mail fails, your submission is lost permanently. There is no dashboard. No submission history.
No way to recover what someone sent you.
If the email fails, you never
know it happened.


The Three Signs Your Contact Form

Is Affected

Sign 1: Your form shows a success message, but you receive nothing

The form submits successfully. The visitor sees a thank-you message. But you never receive the notification
email. This is the most common symptom since Gmail's November 2025 changes.

Sign 2: Emails were working and then suddenly stopped

You had been receiving form notifications for months or years, and then, around late 2025 or early 2026, they stopped arriving without any changes on your end.

Sign 3: Test emails from your form do not arrive

You send a test email from your contact form plugin settings, and it never arrives in your inbox or spam folder.

If any of these match your situation, the fix below will solve it.


Fix 1: Use an SMTP Plugin

The fastest fix for most WordPress users is to replace PHP mail with a proper SMTP connection using a dedicated email service.

SMTP (Simple Mail Transfer Protocol) sends your emails through a proper authenticated email server instead of your web host's PHP mail function. Email providers trust SMTP emails from known services significantly more than PHP mail.

Step 1: Install WP Mail SMTP

WP Mail SMTP is the most popular WordPress SMTP plugin, with over
3 million active installs. Install it from the WordPress plugin directory.

Step 2: Choose an SMTP provider

WP Mail SMTP works with several free
and paid SMTP providers:

Gmail SMTP (free)
If you have a Google Workspace account, you can use Gmail's SMTP server. Free for basic usage. Best for small sites
with low form volume.

Brevo (formerly Sendinblue) (free tier)
300 emails per day are free. Good deliverability. Easy to set up.

Mailgun (free tier)
100 emails per day are free. Excellent deliverability. Requires domain
verification.

Step 3: Configure WP Mail SMTP

Go to WP Mail SMTP settings in your WordPress dashboard. Enter your SMTP credentials from whichever provider you chose.
Send a test email to confirm it is working.

Once configured, all WordPress emails, including your contact form notifications, will be sent through your SMTP provider instead of PHP mail. Deliverability improves immediately.


Fix 2: Use Formgrid as Your Form Backend

If you want more than just reliable email delivery, including a submission dashboard so you never lose a submission again, consider switching to Formgrid as your form backend.

Formgrid is an open-source form backend and form builder that handles your form submissions independently of WordPress.
It handles email delivery through enterprise-grade, authenticated
infrastructure that Gmail and Outlook
accept reliably. Here is the most important difference
between Formgrid and the SMTP fix:

Every submission is saved to your Formgrid dashboard regardless of
whether the email was delivered.

Even if Gmail changes its rules again tomorrow, your submissions are not lost. You can log in to Formgrid and see every submission ever received.

Option A: HTML Form in a WordPress Custom HTML Block

This is the most reliable approach. Instead of using a form plugin, you write a simple HTML form in a WordPress Custom HTML block and point it at your Formgrid endpoint.

Step 1: Sign up free at
formgrid.dev.
No credit card required.



Step 2: Create a new form and copy your endpoint URL from the Overview tab.
It looks like this:

https://formgrid.dev/api/f/your-form-id
Enter fullscreen mode Exit fullscreen mode


Step 3: In your WordPress page editor, add a Custom HTML block and paste this code:

<form 
  action="https://formgrid.dev/api/f/your-form-id"
  method="POST">

  <div>
    <label for="name">Your Name</label>
    <input 
      type="text" 
      id="name" 
      name="name" 
      required />
  </div>

  <div>
    <label for="email">Email Address</label>
    <input 
      type="email" 
      id="email" 
      name="email" 
      required />
  </div>

  <div>
    <label for="message">Message</label>
    <textarea 
      id="message" 
      name="message" 
      rows="5" 
      required></textarea>
  </div>

  <!-- Honeypot spam protection -->
  <input 
    type="text" 
    name="_honey" 
    style="display:none" />

  <button type="submit">Send Message</button>

</form>
Enter fullscreen mode Exit fullscreen mode

Replace your-form-id with your actual
Formgrid endpoint slug.

Step 4: Publish your page and submit
a test entry. Your notification email will arrive
instantly with reliable, authenticated
delivery.

Option B: Embed the Formgrid

Form Builder

If you do not want to write any HTML, you can build your form using Formgrid's drag-and-drop form builder and embed it in WordPress using an iframe.

Step 1: Build your form in the Formgrid form builder. Drag and drop your fields, customize labels, and click Save.





Step 2: Copy your shareable form
link from the Overview tab.

Step 3: In your WordPress page editor, add a Custom HTML block and paste this embed code:

<iframe 
  src="https://share.formgrid.dev/f/your-form-id"
  width="100%"
  height="600"
  frameborder="0"
  style="border: none;">
</iframe>
Enter fullscreen mode Exit fullscreen mode

Your form is now embedded in your WordPress page, and all submissions go directly to Formgrid.


Why Formgrid Solves More Than

Just Deliverability

The SMTP plugin approach fixes your
email deliverability. Formgrid fixes
deliverability and gives you several
things WordPress form plugins cannot:

A submission dashboard
Every submission is saved in your Formgrid dashboard regardless of
whether the email was delivered. You never lose a submission again.

CSV export
Download all your submissions as a spreadsheet anytime. No plugin needed. No data loss.

File uploads
Accept resumes, images, and documents
up to 1GB per file on the Premium plan.

Google Sheets sync
On the Professional plan, every submission appears automatically in
a Google Sheet in real time. No Zapier.
No plugins. No Google API setup.

Spam protection
Built-in honeypot and rate limiting catch bots before they reach your inbox on all plans, including free.

Custom email templates
On the Business plan, you can design exactly how your notification emails look with full HTML control.


Which Fix Should You Use

You want the simplest fix with minimal setup and you are happy with your current form plugin:

Use WP Mail SMTP with a free SMTP provider. Takes 10 minutes. 
Your existing CF7 or WPForms setup stays the same.


You want reliable emails AND a submission dashboard, AND you never 
want to lose a lead again:

Use Formgrid as your form backend.
Submissions saved permanently regardless of email delivery.


You are a non-technical user who does not want to touch any code:

Use Formgrid's form builder embedded via iframe. No coding 
required.
Enter fullscreen mode Exit fullscreen mode

The Honest Limitation of Formgrid

for WordPress

Formgrid is not a WordPress plugin. You cannot install it from the WordPress plugin directory. It requires either adding a custom HTML form to your page or embedding the form builder via iframe.

For users who are comfortable with WordPress Custom HTML blocks, this is a one-time 5-minute setup. For users who want a fully integrated WordPress plugin experience, WP Mail SMTP is the simpler choice.

Both fixes solve the core problem.
Choose the one that matches your technical comfort level.


Frequently Asked Questions

Will fixing this recover submissions
I already missed?

Unfortunately no. Emails rejected at the server level by Gmail are not stored anywhere. They are gone permanently. This is why having a submission dashboard like Formgrid is important going forward. Even if email delivery fails, your submissions are saved.

Will this fix Contact Form 7 emails going to spam?

If you use WP Mail SMTP with a proper SMTP provider, yes.
CF7 will send through your SMTP connection instead of PHP mail, and deliverability improves immediately.

If you switch to Formgrid, your CF7 plugin becomes optional. You can use a simple HTML form instead and bypass CF7 entirely.

Do I need to pay for an SMTP provider?

Most SMTP providers have generous free tiers. Brevo gives you 300 emails per day free. Mailgun gives you 100 emails per day free. For most small business contact forms, these free tiers are more than enough.

Does Formgrid work with any
WordPress theme?

Yes. Formgrid uses a standard HTML form or an iframe embed. Both work
with any WordPress theme, including Astra, Divi, Elementor, GeneratePress, and Kadence.

What happens if I miss a submission?

With a standard WordPress form plugin and PHP mail, a failed email means a lost submission. With Formgrid, every submission is saved to your dashboard regardless of email delivery. You can always log in and see every submission ever received.

Will this happen again?

Email providers will continue to tighten authentication requirements over time.
With SMTP or Formgrid, you are using a properly authenticated email
infrastructure that meets current and future standards. PHP mail will
continue to become less reliable over time.


Final Thoughts

Your WordPress contact form did not stop working because of anything you did.
It stopped because Gmail changed how it handles unauthenticated emails, and WordPress PHP mail has never used proper authentication.

The fix is straightforward:

Replace PHP mail with a proper SMTP connection using WP Mail SMTP and a free SMTP provider. Your emails will reach inboxes reliably from today.

Or switch to Formgrid for a form backend that handles reliable email
delivery, submission storage, Google Sheets sync, and spam protection
all in one place.

Either way, your contact form emails
will stop disappearing.

👉 Try Formgrid free at formgrid.dev


Full disclosure: I built Formgrid.
Written as honestly as I could.
Let me know in the comments if
anything looks off.


Tags: #wordpress #webdev #tutorial

contactform #email

Top comments (0)