Divi Contact Form Not Sending Email? Every Cause and Fix (Divi 5)

A step-by-step way to find why your Divi contact form emails never arrive, fix the cause and stop losing leads.

Divi contact form not sending email troubleshooting guide with a real SMTP error in notification history

If your Divi contact form says "sent" but no email arrives, the most likely cause is your host blocking or distrusting WordPress's default PHP mail. The fix is usually to send through SMTP or an email service, then add SPF and DKIM records to your domain.

That success message only means WordPress accepted the message. Delivery happens afterwards, and it can still fail without any warning. Meanwhile, your visitor thinks you ignored them.

Use the chart below to find your problem, then jump to the matching fix. Most people are done within 30 minutes.

Flowchart for finding why a Divi contact form email did not arrive, from the success message to spam, recipient and host checks

Start at the top and stop at the first answer that fits.

Fix 1: Check the Recipient and Your Spam Folder

Start here, because it takes two minutes:

  • The recipient address. Open the Contact Form module and check its Email Address setting. If it is empty, Divi sends to the site admin email from Settings → General, which may be an old address nobody reads.
  • Your spam folder. Search spam and junk for your site name.
  • A second inbox. Send a test to a Gmail address as well as your own domain. Some company mail servers filter website mail on their own.

Fix 2: Send Through SMTP Instead of PHP Mail

This is the fix most sites need. By default, WordPress uses the server's PHP mail function. Many hosts limit it, and mail providers distrust it because it does not prove the message comes from your domain.

  1. Install an SMTP plugin such as FluentSMTP or WP Mail SMTP.
  2. Connect a mail service: your email host, Google Workspace, Brevo, Postmark, SendGrid or Mailgun.
  3. Set the From address to one on your own domain, such as hello@yoursite.com.
  4. Send the plugin's test email, then submit your form again.

Common mistake

Do not set the From address to the visitor's email. It looks like your server is impersonating Gmail or Outlook, and providers reject it. Send from your own domain and put the visitor in Reply-To.

Fix 3: Add SPF, DKIM and DMARC Records

If mail arrives but lands in spam, your domain is probably not proving who may send for it. Three DNS records solve that:

  • SPF lists the services allowed to send mail for your domain.
  • DKIM signs each message so providers can check it was not changed.
  • DMARC tells providers what to do when those checks fail.

Your mail service gives you the exact values. Add them in your domain's DNS settings, wait for them to update, and test again. A free tool such as MXToolbox can confirm they are correct.

Fix 4: Rule Out Caching, CAPTCHA and Security Plugins

If the visitor does not see a success message, the email was never the problem: the form did not submit.

  • Page caching. A cached page can carry an expired security token. Exclude the contact page from your cache and test again.
  • CAPTCHA. Wrong or expired keys can block every submission. Check the keys, or turn CAPTCHA off briefly to test.
  • Security plugins. Some block form requests that look like spam. Check their logs.

Stop Depending on Email Alone

Everything above makes email more reliable, but no setup is perfect. Mailboxes fill up, providers have outages, and filters change overnight. Divi's Contact Form only sends an email and keeps no copy, so any of those failures loses the message.

Saving entries first removes that risk. HappyDivi Form, a native Divi 5 form module with a free version, stores each submission in WordPress before sending anything.

Diagram comparing the Divi Contact Form email-only path with HappyDivi Form saving the entry first

If the email fails, one path loses the lead and the other keeps it.

It also shows you what actually went wrong. When we tested a form on a local site with SMTP deliberately unreachable, each entry recorded the failed attempts, the real error and a Resend button:

HappyDivi Form Notification History showing failed emails with the error Could not connect to SMTP host and Resend buttons

Our test: failed sends listed with the provider's real error message.

The free version also includes:

  • A delivery queue that retries a failed send up to 3 times.
  • Four ways to send: WordPress default, your own SMTP server, Brevo or Postmark.
  • SMTP plugin detection, so it works alongside an SMTP plugin you already use.
  • A clear warning on the settings screen that WordPress default mail is unreliable on most hosts.
HappyDivi Form Email Delivery settings with WordPress Default, Brevo, Postmark and SMTP options

Choosing how email is sent, under Settings, Email.

Quick Reference: Symptom, Cause, Fix

SymptomLikely causeFix
No email at allPHP mail blockedSend through SMTP
Email lands in spamMissing SPF or DKIMAdd DNS records
Some emails go missingFrom set to the visitor's addressUse your domain, visitor in Reply-To
Form will not submitCached page or CAPTCHA keysExclude from cache, check keys
Wrong inboxEmpty recipient fieldSet the address in the module
Leads lost for goodForm stores nothingUse a form that saves entries

Frequently asked questions

Why does my Divi contact form say sent but no email arrives?

The success message only means WordPress accepted the message. Delivery happens afterwards, and it usually fails because the host blocks PHP mail or the domain is not authenticated.

Does Divi save contact form submissions?

No. Divi's Contact Form module sends an email and keeps no copy. To keep a record, use a form plugin that stores entries in WordPress.

Which SMTP plugin is best for Divi?

FluentSMTP and WP Mail SMTP are both solid choices and work with any Divi site. The mail service you connect matters more than the plugin.

Can I recover messages that were never delivered?

With Divi's own form, no, because nothing was stored. With a form that saves entries first, every message stays in WordPress and you can resend the notification once delivery is fixed.

From HappyDivi

HappyDivi Form

Saves every entry inside WordPress, so a lead never depends on an email arriving.

  • 22 field types, multi-step forms and conditional logic
  • Native Divi 5 module

Free plan available

From HappyDivi

HappyDivi Form

Saves every entry inside WordPress, so a lead never depends on an email arriving.

  • 22 field types, multi-step forms and conditional logic
  • Native Divi 5 module

Free plan available

Get the next Divi 5 guide

New guides and plugin news from HappyDivi. Unsubscribe any time.

Rubait Hasan

Written by

Founder & Product Builder

Rubait has been building for Divi since 2017. He founded DiviZoom in 2019, sold it in 2022, and started HappyDivi when Divi 5 rebuilt the builder from the ground up. He writes the code behind HappyDivi's plugins and answers support himself.

More articles by Rubait

From HappyDivi

HappyDivi Form

Saves every entry inside WordPress, so a lead never depends on an email arriving.

  • 22 field types, multi-step forms and conditional logic
  • Native Divi 5 module

Free plan available

Get the next Divi 5 guide

New guides and plugin news from HappyDivi. Unsubscribe any time.