
Gravity Forms Email Notifications Not Working — Troubleshooting Guide
Gravity Forms accepted the submission. It's in the entries list. But the notification email never arrived.
This guide covers every common reason Gravity Forms email notifications stop working and the exact steps to fix each one.
What's Actually Happening
Gravity Forms doesn't send email itself. It hands off to WordPress's wp_mail() function, which in turn uses PHP's mail() by default. Most hosting environments aren't configured to send email reliably through PHP — so notifications get dropped with no visible error.
The frustrating part: Gravity Forms shows the submission as successful because it was successful. The form worked. Email delivery is a separate system.
Step 1: Check Your Notification Configuration
Go to Forms → Your Form → Settings → Notifications.
Verify:
The notification is active (there's a toggle on each notification)
Send To is set to a valid email address — not a merge tag that might resolve to empty
From Email uses a domain-based address (not
@gmail.comor@yahoo.com)Conditional Routing isn't filtering out your test submission
A common mistake: using {admin_email} as the From address when that's set to a personal Gmail. This causes deliverability problems even when the email does send.
Step 2: Use Gravity Forms' Built-In Notification Testing
In the Entries list, find a test submission and click Resend Notifications. If it sends from there but not from the live form, you likely have a conditional routing issue.
Also check: Forms → Settings → Email — some versions of Gravity Forms let you configure a test send from here.
If the resend doesn't arrive either, the problem is upstream — PHP mail or your SMTP configuration.
Step 3: Install an SMTP Plugin
This is the fix for most cases.
PHP's mail() function sends without authentication, which means:
No SPF alignment
No DKIM signature
High spam score
Many hosts block it outright
The solution is to bypass PHP mail entirely and send through a real SMTP service.
Recommended plugins:
WP Mail SMTP — most widely used, good Gravity Forms compatibility
FluentSMTP — clean interface, fully free
Postmark for WordPress — if you're already using Postmark
Recommended SMTP providers:
Brevo (Sendinblue) — generous free tier
Postmark — best deliverability, paid but reasonable
Amazon SES — very cheap at volume, more setup required
Gmail SMTP — works for low volume, needs an App Password
After setting up SMTP, resend a test notification. If it arrives, you're done.
Step 4: Add SPF and DKIM Records
Even with SMTP, emails can land in spam if your domain's DNS isn't configured correctly.
Your SMTP provider will give you SPF and DKIM records to add to your domain's DNS. Do it. It's a one-time step and it materially improves deliverability.
Also ensure your From Email in the Gravity Forms notification matches the domain you're sending from. Mismatched From addresses are a reliable way to get flagged.
Step 5: Check the Gravity Forms Logging
Enable logging under Forms → Settings → Logging (you may need to enable it first).
Then go to Forms → Logs and look for email-related entries after submitting a test form. You're looking for:
wp_mail failedAuthentication errors
Empty recipient errors
This is often the fastest way to identify exactly what's failing without guessing.
Step 6: Check Hosting Restrictions
Some managed hosts block or throttle outgoing PHP mail:
WP Engine — PHP
mail()is disabled by default. SMTP required.Kinsta — PHP mail works but they strongly recommend SMTP
Cloudways — SMTP configuration required; no built-in mail server
Flywheel — similar to WP Engine; use SMTP
If you're on one of these platforms and haven't set up SMTP yet, that's almost certainly your issue.
Step 7: Test WordPress Mail Independently
Install WP Mail SMTP even if you don't plan to keep it — it includes a standalone email test tool under WP Mail SMTP → Tools → Email Test.
If that test fails, the problem is confirmed to be WordPress/server-level, not Gravity Forms.
If it succeeds but Gravity Forms notifications still don't arrive, the problem is in the Gravity Forms notification configuration itself (routing, merge tags, conditional logic).
Step 8: Rule Out Plugin Conflicts
If everything looks correct and still isn't working, a plugin or theme may be interfering with wp_mail().
Test in a staging environment:
Deactivate all plugins except Gravity Forms and your SMTP plugin
Submit a test form
Re-enable plugins one at a time until the issue returns
Caching plugins and security plugins (Wordfence, iThemes Security) have been known to interfere with email sending in edge cases.
The Part That Bites You Later
You fix it. Notifications arrive. Weeks pass.
Then something changes — a hosting migration, a plugin update, an expired SMTP API key — and notifications stop again. Silently. Your clients keep filling out forms. The submissions pile up. Nobody gets notified.
You find out when someone calls to ask why nobody responded to their inquiry.
This is why point-in-time fixes aren't enough for production sites, especially when you're managing forms across multiple client installs.
FormDoctor monitors your forms on a schedule — submitting real test entries and verifying email delivery end-to-end. When something breaks, you get alerted before your client does. Start monitoring free.
Quick Checklist
Notification is active and correctly addressed
From email uses a domain-based address
No conditional routing suppressing the notification
SMTP plugin installed and configured
SPF and DKIM DNS records in place
Logging enabled; no errors in Gravity Forms logs
Hosting doesn't block PHP mail (or SMTP is configured)
WordPress mail test sends successfully
No plugin conflicts




