You built a beautiful contact form with Fluent Forms. You added an email notification under Settings → Email Notifications. You set up conditional logic to route different inquiry types to different teams. You tested once — perfect. The email arrived.
Six weeks later, a customer messages you on social media asking why you never responded to their contact form submission. You check Fluent Forms: the entry is there, dated last week. Your inbox: nothing. Spam folder: nothing.
Fluent Forms isn’t broken — but WordPress is. Here’s why and how to fix it permanently.
Why Fluent Forms email fails
When someone submits a Fluent Forms form, the plugin does two things:
- Stores the submission in WordPress’s database (you see it under Fluent Forms → Entries)
- Calls WordPress’s
wp_mail()function to send the notification email
Step 2 is where everything breaks. wp_mail() is a thin wrapper around PHP’s mail() function, which by default sends from wordpress@your-host-server-name.com — an address that fails SPF, DKIM, and DMARC checks at Gmail, Outlook, and Apple Mail. The message either:
- Lands silently in the recipient’s spam folder
- Gets dropped entirely by aggressive corporate filters
- Gets delayed by hours when shared hosting mail queues back up
Fluent Forms’ entry log shows the submission as “Successful” because, from the plugin’s perspective, it successfully passed the data to wp_mail(). What happens after that is invisible to Fluent Forms.
Every WordPress form plugin has this problem
wp_mail() hits the same underlying deliverability problem. The fix is the same too: replace the unauthenticated wp_mail() handler with one that signs and routes through reputation-clean infrastructure.Diagnose your Fluent Forms delivery problem
Four-step check:
- Submit your own form with a Gmail address you control. Wait 5 minutes. Check inbox AND spam.
- Check Fluent Forms entries. Fluent Forms → Entries. Your test should be there. If yes, the form is working — only the email step is broken.
- Check Fluent Forms email log (if enabled). Settings → Email Logs. Status will say “Sent” (handed to wp_mail) but tells you nothing about whether it actually arrived.
- Run mail-tester.com. Submit a form to the mail-tester.com address they provide. Score below 7/10 = delivery problem.
The 5-minute fix: install the SecureSMTP WordPress plugin
- Sign up at securessmtp.com/signup — free tier covers 100 emails/month.
- Dashboard → API keys → Create. Copy the key.
- WordPress Admin → Plugins → Add New → Upload Plugin → upload the SecureSMTP plugin .zip.
- Activate → Settings → SecureSMTP → paste the API key → Save and test connection.
- Submit your Fluent Forms form. Email should arrive within 30 seconds.
What changes for Fluent Forms
wp_mail() exactly like before. The SecureSMTP plugin intercepts each call, sends through authenticated infrastructure, signs the message with your domain’s DKIM, and logs the actual delivery result. You don’t change any Fluent Forms settings — the fix is invisible to the form plugin.Verify Fluent Forms email is working
- Submit your form again. Should arrive in inbox in under 30 seconds.
- Check SecureSMTP’s Mail Log in WordPress admin. Status: Delivered. Triggered by: Fluent Forms.
- Run mail-tester.com again. Score should be 9+/10.
- Check Gmail headers. “Show original” on the test email. SPF: pass. DKIM: pass. DMARC: pass.
Frequently asked questions
Will this affect my other WordPress plugins' emails?+
Yes — and that's a good thing. The SecureSMTP plugin intercepts every wp_mail() call across WordPress, so every plugin's emails now use authenticated delivery. Fluent Forms, WPForms, WooCommerce, comment notifications, password resets — all routed through SecureSMTP. One install fixes deliverability for the entire site.
Do I need Fluent Forms Pro for this to work?+
No. The fix is at the wp_mail() layer, which is below Fluent Forms. The free version of Fluent Forms uses wp_mail() exactly the same way Pro does, so any fix that addresses wp_mail() addresses Fluent Forms regardless of which version you have. No need to upgrade anything on the Fluent Forms side.
My Fluent Forms entry view shows the submission but the email log says "Sent." Why didn't I get the email?+
"Sent" means Fluent Forms successfully handed the email to WordPress's wp_mail() function, and wp_mail() handed it to your hosting server's mail handler. From there, the message could still bounce, get filtered to spam, or get silently dropped by the recipient mail server — Fluent Forms has no visibility into what happened next. The SecureSMTP plugin's Mail Log shows the actual delivery status (Delivered, Bounced, Complained, etc.) so you can see what really happened to each send.
What about Fluent Forms' built-in SMTP support?+
Fluent Forms Pro has a "Send Test Email" feature and lets you configure SMTP credentials. But you still need an SMTP service to point it at — like SendGrid, Brevo, or your hosting provider's mail server. SecureSMTP provides that SMTP service with simpler setup, so you can either point Fluent Forms' SMTP at us OR (recommended) install the SecureSMTP WP plugin which intercepts at the wp_mail() layer and fixes every plugin's mail at once.
Can I keep using Fluent Forms' Slack / Discord / Telegram integrations?+
Yes. Those run on Fluent Forms' webhook layer, not the email layer. SecureSMTP only changes how email is sent. Your Slack notifications, Discord webhooks, and other downstream integrations continue working exactly as before.
Will the form submitter see anything different?+
No visible change. They still fill out the Fluent Forms form, click submit, and see your custom success message. The only thing that changes is that any auto-reply email you send to the submitter now arrives from your real domain (authenticated) instead of from wordpress@yourhost.com (which often goes to spam). Submitters are more likely to open and reply to your auto-confirmations.
Ready to fix it?