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 [email protected] — 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 the notification settings. Open the form → Settings & Integrations → Email Notifications. Make sure the notification is on and the Send To address is right.
- Run mail-tester.com. Submit a form to the mail-tester.com address they provide. Score below 7/10 = delivery problem.
The fix: install the SecureSMTP WordPress plugin
- Sign up at securessmtp.com/signup — free tier covers 5,000 emails/month.
- Dashboard → Forms → Sites → + Add Site. Copy the site’s API key from the last step. It is shown only once.
- WordPress Admin → Plugins → Add New Plugin → Upload Plugin → upload the SecureSMTP plugin .zip → Install Now → Activate.
- In wp-admin open SecureSMTP → Settings, paste the key into API Key and click Save and test connection.
- Under Email Delivery, tick Route outgoing email through SecureSMTP and save. Until you tick it, WordPress keeps sending with its own mailer.
- Submit your Fluent Forms form. Once your sending domain is verified, the email should arrive within a minute.
What changes for Fluent Forms
wp_mail() exactly like before. The SecureSMTP plugin takes each call and sends it through SecureSMTP, signed with DKIM and logged. You don’t change any Fluent Forms settings. New accounts send from their own verified sending domain. Older accounts can keep using [email protected] for a limited time, with your sender name, and the original From address becomes the Reply-To.Verify Fluent Forms email is working
- Submit your form again. It should arrive in the inbox within a minute.
- Check SecureSMTP → Mail Log in wp-admin. The email is listed with its source plugin and status Sent.
- Check the Email log in your SecureSMTP dashboard for the delivery result.
- Run mail-tester.com again. Score should be 9+/10.
- Check Gmail headers. “Show original” on the test email. DKIM should pass. DMARC passes for your own domain once you send from a verified sending domain (any plan, including Free).
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 log says the email was sent. Why didn’t I get it?+
"Sent" only means the email was handed to wp_mail() and then to your server’s mail handler. After that it can still bounce, go to spam or be dropped by the receiving server. With SecureSMTP, the Email log in your SecureSMTP dashboard shows what happened to each email (delivered, bounced and so on). The plugin’s Mail Log in wp-admin shows which plugin sent it and whether it went through SecureSMTP.
Does Fluent Forms have its own SMTP settings?+
No. Fluent Forms sends with wp_mail() and has no SMTP fields. The same team makes a separate plugin, FluentSMTP, which you could point at our SMTP settings (host smtp.securessmtp.com, port 587, username securessmtp, your site API key as the password). With the SecureSMTP plugin you do not need FluentSMTP: it handles wp_mail() for every plugin. Use one of the two, not both.
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 is sent through SecureSMTP, signed with DKIM, instead of from [email protected]. It comes from your own address once you verify a sending domain, which any plan can add. Older accounts can keep using [email protected] with your sender name for a limited time.
Ready to fix it?
Related guides
Contact form not sending email? Why it happens and how to fix it
The five places a form email can fail, and a ten-minute check to find yours.
Fluent Forms SMTP
Send Fluent Forms email through SecureSMTP.
Why your form must not send “From” the visitor’s email
Send from your domain, reply to the visitor. Settings for each form plugin.
Form submissions are saved but no email arrives
The form works and the mail step fails. How to prove it and fix it.