Gravity Forms Email Notifications Not Sending? Fix Them With Brevo SMTP
A Complete Step-by-Step Fix for “Could Not Instantiate Mail Function” Errors
Introduction
Are your Gravity Forms entries showing up in WordPress, but email notifications never arrive?
You’re not alone, this problem affects thousands of WordPress websites every day.
The most common error message inside Gravity Forms is:
Keep The Useful Ideas Coming
Get the next practical guide.
New field notes on websites, search, software, AI, and automation—written from real work, not recycled talking points.
Useful email only. Unsubscribe whenever you want.
WordPress was unable to send the notification email. Could not instantiate mail function.
This happens when WordPress tries to send email using PHP’s built-in mail() function, and your hosting provider blocks it.
In this guide, you’ll learn the real cause, the complete fix, and how to set up a bulletproof email system using Brevo SMTP, Gravity SMTP, and proper DNS authentication.
Why WordPress & Gravity Forms Stop Sending Emails
Most hosting companies (SiteGround, Bluehost, GoDaddy, HostGator, WP Engine, etc.) frequently block outgoing PHP mail for:
Email spoofing prevention
Tightened security policies
High bounce/spam rates
Missing DNS authentication
Mismatched “From Email” domains
Even if emails worked for months, hosts can disable PHP mail at any time.
The Permanent Fix: Use Authenticated SMTP + Domain Authentication
We will set up:
Brevo SMTP (free for 300 emails/day)
DKIM, SPF, DMARC authentication
Custom SMTP integration in Gravity SMTP
Proper Gravity Forms notification configuration
This gives you:
100% reliable email delivery
Better inbox placement
Full email logs
A secure, modern email-sending system
Step 1 - Install Gravity SMTP Plugin
Install from WordPress:
Plugins → Add New → Gravity SMTP → Install → Activate
Set “Custom SMTP” as your method (we will configure this later).
Step 2 - Authenticate Your Domain in Brevo
Navigate to:
Brevo → Settings → Senders, domains, IPs → Domains → Add Domain
You will receive 3 – 4 DNS records to add:
DNS Records to Add (Example)
TXT @ v=spf1 include:spf.brevo.com ~all
TXT @ brevo-code:xxxxxxx
CNAME brevo1._domainkey b1.domain-com.dkim.brevo.com
CNAME brevo2._domainkey b2.domain-com.dkim.brevo.com
SPF + DKIM are required.
DMARC is optional but recommended (only ONE allowed).
Step 3 - Fix Conflicting DNS Records (Very Important)
Most common conflicts:
❌ Duplicate DMARC
Delete one. Only ONE DMARC TXT must exist.
❌ Default DKIM from your hosting
Delete:
default._domainkey.domain.com❌ Old SPF record
Delete any previous SPF and use only:
v=spf1 include:spf.brevo.com ~all
After corrections, click:
Brevo → Domains → Authenticate / Re-check DNS Your domain must show:
🟢 Authenticated
Step 4 - Generate a Brevo SMTP Key (NOT an API Key!)
Navigate to:
Brevo → SMTP & API → SMTP Click:
Generate a new SMTP key
Use:
Variant: Standard
Name:
WordPress SMTP Key
You will receive:
SMTP Username → looks like
xxxx@smtp-brevo.comSMTP Password (your SMTP key) → copy this once!
This is what WordPress will use – NOT the Brevo API keys.
Step 4 - Generate a Brevo SMTP Key (NOT an API Key!)
Navigate to:
Brevo → SMTP & API → SMTP Click:
Generate a new SMTP key
Use:
Variant: Standard
Name:
WordPress SMTP Key
You will receive:
SMTP Username → looks like
xxxx@smtp-brevo.comSMTP Password (your SMTP key) → copy this once!
This is what WordPress will use – NOT the Brevo API keys.
Step 5 - Configure Gravity SMTP with Brevo SMTP
Go to:
WordPress → SMTP → Integrations → Custom SMTP → Settings Fill in:
SMTP Host
smtp-relay.brevo.com SMTP Port
587 Encryption
TLS Enable Authentication
ON
Authentication Username
your-smtp-login@smtp-brevo.com Authentication Password
your-SMTP-key-from-Brevo Default From Email
info@yourdomain.com Default From Name
Your Business Name Click Save & Enable, then set Custom SMTP as Primary.
Step 6 - Fix Gravity Forms Notification Settings
Go to:
Forms → Your Form → Notifications → Admin Notification Update these fields:
Send To
Your admin email or:
{admin_email} From Email
MUST match the authenticated domain:
info@yourdomain.com Never use {Email:1} as From Email — SMTP will reject it.
Reply-To
User email merge tag:
{Email:1} Conditional Logic
Turn OFF to test.
Click Save.
Step 7 - Send a Test Email
Navigate to:
WordPress → SMTP → Tools → Send Test Email If everything is configured correctly, you should see:
Email sent successfully
The email should appear in your inbox instantly.
Step 8 - Submit the Form Again
Now test:
Admin notification
User confirmation
Logging in Gravity SMTP
Logs will show:
Delivered via smtp-relay.brevo.com 🎉 You’re done!
Final Result
WordPress emails send reliably
Gravity Forms notifications work again
DKIM + SPF improve inbox delivery
No more PHP mail() errors
SMTP logs give full transparency
Hosting blocks no longer affect email sending
This setup is permanent and works across all hosting providers.
Bonus Tip: Why Gmail Shows “External” Label
Gmail adds “External” on new domains.
Once you send authenticated traffic for 24-72 hours, it typically disappears automatically.
Want more content like this?
This is part of a growing series on marketing in the AI age, where automation meets intention, and strategy meets soul. If you’re trying to build something real while staying efficient, this blog is for you. Know more about us at https://newpaltzmarketing.com/







2 Responses
This guide explains the issue very clearly, especially the part about WordPress showing entries correctly while emails still fail silently. A lot of users dealing with Gravity Forms Email Notifications Not Sending usually focus only on form settings, but the DNS and SMTP authentication section here is what really makes the difference. I also liked the reminder about keeping the From Email aligned with the authenticated domain, because that small mistake causes many delivery failures without obvious errors. Very practical walkthrough for anyone troubleshooting Gravity Forms with Brevo SMTP.
Thanks for the detailed feedback, really glad you found the guide useful! You’re absolutely right, most Gravity Forms email issues aren’t actually caused by the plugin itself, but by DNS authentication (SPF, DKIM, DMARC) and SMTP configuration. One additional thing I’ve seen recently is hosts tightening PHP mail() restrictions even further, which makes proper SMTP setup almost mandatory now. Appreciate you pointing that out, it’ll definitely help others reading this thread too.