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
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
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>
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>
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.
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




Top comments (0)