You set up Forminator for your client’s contact form. Picked a slick template. Configured an admin notification AND a user confirmation. The form looks great, submissions roll in, the entries page shows everything being collected. But for some reason, no email shows up in the admin’s inbox — or it shows up hours later, or it lands in spam.
Forminator isn’t broken. The problem is one layer down: WordPress’swp_mail() function. Here’s how to fix it in five minutes so every Forminator notification arrives reliably.
Why Forminator notifications miss
Forminator’s email notifications use WordPress’s built-in wp_mail() function under the hood. That function is a thin wrapper around PHP’s mail(), which:
- Sends from
wordpress@your-host-server-name.comby default - Doesn’t sign messages with DKIM
- Goes through your shared hosting server’s mail handler, which is on shared IP pools
Modern Gmail and Outlook filtering rejects messages from this default sender before they ever reach your inbox. The Forminator submissions log will show the entry as “successful” because Forminator handed the message to wp_mail() and got an “OK” back — but the actual email never reached you.
WPMU DEV's docs acknowledge this
Diagnose your Forminator delivery problem
Run these checks:
- Submit your form. Use a personal Gmail. Wait 5 minutes. Check inbox AND spam.
- Check Forminator submissions. Forminator → Submissions. Did the submission show up? If yes, the form is working — only the email is broken.
- Review the email template in Forminator. Edit form → Email Notifications → admin notification → verify the recipient address is correct.
- Run mail-tester.com. Send a Forminator submission to mail-tester’s test address. Read the report. 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. You’ll see a green “Connected” status.
- Submit your Forminator form. The notification email should arrive within 30 seconds, in the inbox.
Re-configure Forminator notifications for best deliverability
After installing SecureSMTP, the SAME Forminator email notifications you set up will work without changes. But while you’re here, optimize a few settings:
Use your real domain as the From address
Edit form → Email Notifications → From field. Set to contact@yourdomain.com (instead of leaving the default Forminator sender). This makes the email look professional in the recipient’s inbox.
Add a Reply-To that matches the submitter
Forminator’s “Reply-To” field can be set to the dynamic field value {email-1} (or whichever field captures the submitter’s email). When you reply, the message goes to the form submitter, not bouncing back to your contact@ inbox.
Verify your sending domain in SecureSMTP
For maximum trust + branding, verify your domain in the SecureSMTP dashboard (1 TXT + 1 CNAME DNS record). Once verified, all Forminator notifications send from your custom domain with proper DKIM signing.
Verify it’s working
- Submit your form once more. Email should arrive within 30 seconds.
- Check the SecureSMTP Mail Log. WordPress admin → SecureSMTP → Mail Log. The Forminator notification should appear with status “Delivered.”
- Run mail-tester.com again. Score should be 9+/10.
- Check the headers. SPF: pass. DKIM: pass. DMARC: pass.
Frequently asked questions
Does this work with Forminator quizzes, polls, and payment forms too?+
Yes. All four Forminator form types (contact form, quiz, poll, payment) use the same wp_mail() function to send notifications. The SecureSMTP plugin intercepts every wp_mail() call regardless of which Forminator module triggered it. Quiz result emails, poll vote confirmations, and payment receipts all benefit equally.
Will this work alongside Forminator's Mailchimp / HubSpot / Constant Contact integrations?+
Yes. Those integrations push form data to external services via their APIs — separate from the email notification layer. SecureSMTP only handles the email-sending step, so all your Mailchimp / HubSpot / Constant Contact integrations continue to work exactly as before.
Do I need Forminator Pro for this fix?+
No. The free version of Forminator uses wp_mail() exactly like Pro. Since the SecureSMTP plugin fixes wp_mail() at the WordPress level, it works equally well for Forminator Free and Pro installations.
What about Forminator's payment form receipts (Stripe / PayPal)?+
Stripe and PayPal send their own receipt emails directly from their systems — those are handled by Stripe / PayPal, not WordPress. Forminator's own confirmation emails (the ones triggered by the form's "Email Notifications" section) go through wp_mail() and benefit from the SecureSMTP fix. If you set up a custom payment receipt template in Forminator, that one is fixed.
Why is this happening on a managed WordPress host that "handles SMTP for me"?+
Most managed hosts (WP Engine, Kinsta, Cloudways) handle SMTP at the server level, but they typically send from a shared host-controlled domain (e.g. noreply@yoursite.wpengine.com), not from your custom domain. Gmail and Outlook see that as a sender mismatch and route to spam. The fix is the same as on unmanaged hosts — install the SecureSMTP plugin so notifications send from your real domain with proper authentication.
What about Forminator's "Send email to the user" feature?+
The user confirmation email feature (where Forminator sends a "Thanks for contacting us" email to the form submitter) goes through wp_mail() too. Both the admin notification AND the user confirmation get the SecureSMTP delivery benefits. User confirmations land in their inbox instead of their spam folder, which dramatically improves response rates on auto-replies.
Ready to fix it?