Limited time discount
Spring Deals Are in Full Bloom
Up to 70%Off
Up to 70%Off
Grab Now

Ninja Forms Not Sending Email? Troubleshooting Tips

Your form submission goes through. The success message appears. But the email notification never arrives. Ninja Forms not sending email is one of the most common WordPress issues, and the frustrating part is that nothing looks broken on your end.

The problem almost never sits with the plugin itself. WordPress relies on the PHP mail() function by default, which most hosting providers block or misconfigure. Without proper SMTP authentication, your form emails get flagged as spam or silently dropped.

This guide walks through every cause and fix, from misconfigured email action settings and shared hosting limitations to DNS authentication records and plugin conflicts that quietly kill delivery.

What Causes Ninja Forms to Stop Sending Email

Ninja Forms doesn’t actually send email. Neither does WordPress.

That sounds weird, but it’s true. The plugin passes form data to WordPress, and WordPress hands it off to your web host. Your host packages the data into an email and sends it. If something breaks in that chain, your contact form notifications vanish without a trace.

The problem sits almost entirely at the server level. WordPress relies on the PHP mail() function by default, which is a bare-bones method with zero authentication. Gmail, Outlook, and Yahoo have no way to verify whether that email is legitimate or spam. So they block it.

WP Mail SMTP’s internal data from over 3 million installations shows that sites using the default WordPress mail function have an average deliverability rate of just 64%, compared to 96.4% for sites using authenticated SMTP.

That gap is massive. It means roughly 1 in 3 emails sent through PHP mail() never arrive.

Here’s what’s typically going wrong when Ninja Forms email notifications fail:

  • PHP mail disabled by host: Many shared hosting providers block outgoing mail entirely to prevent spam abuse. Your emails get stopped before they leave the server.
  • No email authentication: Without SPF, DKIM, or DMARC records, receiving servers treat your messages as suspicious. Since February 2024, Gmail and Yahoo reject or filter unauthenticated emails from bulk senders.
  • Wrong “From” address: If the email address in your Ninja Forms email action doesn’t match your domain, receiving servers will often reject the message outright.
  • Shared IP blacklisting: Shared hosting puts hundreds of sites on a single IP. One compromised site sending spam gets the whole IP flagged.

The thing that trips up most people? Ninja Forms logs the submission successfully in your WordPress dashboard. The form appears to work. But the email never shows up. You don’t realize it’s broken until a customer or lead tells you (if they bother telling you at all).

WP Mail SMTP’s support data suggests 67% of WordPress admins don’t know their site emails are failing until someone reports it directly.

45 Must-Have WordPress Tools for 2025

Staying ahead as a WordPress professional, developer, or agency owner is crucial. But are you using the right tools to make your work easier and more efficient?

45 Must-Have WordPress Tools for 2025

By continuing, I accept Privacy Policy and T&C

Thank you for subscribing. Check your mail for details

How to Test Whether Ninja Forms Emails Are Actually Sending

Before you start changing settings or installing plugins, you need to figure out where the breakdown is happening. Is it Ninja Forms? WordPress? Your host? Each requires a different fix.

Check Your Spam Folder and Email Filters

Look, this one feels obvious. But EmailTooltester’s 2024 analysis found that 10.5% of emails end up in spam folders even when delivery technically succeeds. So check there first.

If you find the notification in spam, mark it as “not spam.” That tells your email provider to trust future messages from that sender. But this is a band-aid, not a real fix. You still need to address the authentication problem underneath.

By the way, test with multiple email providers. Send a form submission to a Gmail address, an Outlook address, and a Yahoo address. Deliverability varies wildly between them. GlockApps’ Q1 2025 data showed that Outlook’s inbox delivery rate dropped 22.56% compared to Q1 2024, while Gmail held more steady.

Use a Mail Logging Plugin to Trace Delivery

Install WP Mail Logging. It’s free and does one thing well: it records every email WordPress attempts to send, along with any errors that come back.

Submit your form. Then check the WP Mail Logging dashboard.

If the email appears in the log with no errors, WordPress successfully handed it off to your host. The problem is between your host and the recipient’s inbox. That’s a deliverability issue, not a plugin issue.

If the email appears with an error, the handoff failed. Something is misconfigured in the Ninja Forms email action or in how WordPress connects to your mail server.

If the email doesn’t appear at all, the form submission isn’t triggering the email action. That points to a plugin conflict or a misconfigured form. Check your Emails & Actions tab in the Ninja Forms builder to make sure an email action is actually active.

You can also use Mail Tester to score your outgoing emails. Send a test message to the address it provides, and it’ll tell you exactly what’s failing: missing SPF records, blacklisted IP, content spam triggers, or something else entirely.

Ninja Forms Email Action Settings That Break Delivery

If your mail log shows errors, or if emails send but look wrong, the issue is probably in how you’ve configured the email action inside Ninja Forms.

Ninja Forms’ own documentation calls out the two most common places for a break: the email action settings, and the host sending the email. Let’s look at the action side first.

“From” address mismatch: This is the number one configuration mistake. If your form sends email “from” an address like [email protected] but your site is hosted on yourdomain.com, receiving servers see a domain mismatch and flag it. The “From” address should always use your site’s domain. Something like [email protected].

Empty merge tags in the “To” field: The default “To” field uses {wp:adminemail}, which pulls the admin email from WordPress settings (Settings > General). If that email address has a typo or doesn’t exist, Ninja Forms sends to nowhere. Replace the merge tag with a hard-coded email address during testing to rule this out.

“Reply-To” vs. “From” confusion: Ninja Forms recommends setting the “Reply-To” to the person who filled out the form, and manually setting the “From Address” to match your domain. Many deliverability issues come from this setting. If you suspect it’s causing problems, Ninja Forms’ documentation suggests clearing the field entirely and testing again.

Missing subject line or email body: GoDaddy users in particular have reported that leaving the “Subject” or “Email Message” fields blank causes silent failures. Always fill in both, even during testing.

After checking each setting, do a test submission with a controlled email address on a different domain than your site. If the email arrives, your action configuration was the issue. If it still fails, the problem is downstream.

Why WordPress Emails Fail on Shared Hosting

Shared hosting is the most common reason WordPress email breaks, and it has nothing to do with your plugins or WordPress email settings.

When you’re on shared hosting, you share a server and IP address with dozens or even hundreds of other websites. That creates several problems that are completely outside your control.

Problem What Happens Who It Affects
IP blacklisting One spammy site gets the shared IP flagged Every site on that IP
Outbound port blocking Host blocks port 25 or 587 to prevent spam All WordPress email functions
Rate limiting Host caps emails at 100–500 per day High-traffic forms, WooCommerce stores
PHP mail() disabled Host disables the default mail function entirely Any plugin relying on wp_mail()

Hosts like GoDaddy, Bluehost, and SiteGround all handle outgoing email differently. Some block SMTP connections outright. Others silently limit the number of emails you can send per hour. And you’ll get zero notification when this happens.

One source documented a case where a Shopify dropshipper on GoDaddy shared hosting had 73% of emails going directly to spam, confirmed via Mail Tester. Customers filed chargebacks claiming they never received order updates.

The February 2024 Gmail and Yahoo sender requirements made this worse for shared hosting users. Both providers now require SPF or DKIM authentication for all senders, and DMARC for bulk senders (5,000+ emails per day). Most shared hosting environments don’t configure any of these by default.

Validity’s analysis of over 22 million unique domains found that 84% of domains lack any published DMARC record. If you’re on shared hosting and haven’t touched your DNS settings, you’re almost certainly in that group.

The fix isn’t switching hosts (though that can help). It’s bypassing your host’s mail system entirely by using SMTP with a dedicated transactional email service. Which brings us to the next section.

How to Fix Ninja Forms Email with an SMTP Plugin

Installing an SMTP plugin is the single most effective fix for Ninja Forms email problems. It replaces your host’s unreliable PHP mail() function with an authenticated connection to a real email service.

SMTP (Simple Mail Transfer Protocol) is the standard protocol for sending email across the internet. When you send email from your personal Gmail or Outlook account, it uses SMTP. When WordPress sends email through PHP mail(), it skips all of that. No authentication, no encryption, no delivery confirmation.

WP Mail SMTP Configuration for Ninja Forms

WP Mail SMTP is the most widely used solution, with millions of active installations. Here’s the setup process:

  1. Install and activate WP Mail SMTP from the WordPress plugin directory.
  2. Go to WP Mail SMTP > Settings and set the “From Email” to a real address on your domain (like [email protected]).
  3. Choose your mailer. You’ll see options for SendGrid, Mailgun, Brevo (formerly Sendinblue), Amazon SES, Gmail SMTP, and others.
  4. Enter the SMTP credentials from your chosen service: host, port, encryption type, and authentication details.
  5. Send a test email from the WP Mail SMTP settings page.

If the test email arrives, you’re done. Ninja Forms will automatically use the new SMTP connection for all outgoing email because it relies on WordPress’s wpmail() function, which WP Mail SMTP overrides.

Port 587 with TLS encryption works for most providers. If that doesn’t connect, try port 465 with SSL. Some hosts block both, in which case you’ll need an API-based mailer like SendGrid or Mailgun that bypasses SMTP ports entirely.

Choosing Between Free and Paid SMTP Services

Your choice depends on email volume and how mission-critical those form notifications are.

Service Free Tier Best For
Gmail SMTP 500 emails/day Low-volume sites, testing
Brevo 300 emails/day Small business WordPress forms
SendGrid 100 emails/day Scaling sites, developer-friendly API
Mailgun 1,000 emails/month (trial) Transactional email at scale
Amazon SES Pay-per-use ($0.10 per 1,000) High volume, cost-sensitive

Gmail SMTP works fine for testing but hits daily sending limits fast. I’ve seen sites run into trouble during product launches or registration spikes when they suddenly need to send hundreds of confirmation emails in a short window.

For anything beyond a basic contact us page, a transactional email service like SendGrid or Mailgun is the more reliable path. They’re built for this exact use case: automated, system-triggered emails that need to arrive quickly and consistently.

Ninja Forms also offers SendWP, their own transactional email service at $9/month after a $1 trial. It’s the simplest option if you want a two-click solution and don’t mind the recurring cost. But any SMTP plugin connected to any reputable email service will solve the same problem.

✦ Skip the Headaches

Tired of Ninja Forms not sending emails?

IvyForms handles email delivery reliably out of the box – no SMTP plugins, no debugging, no lost submissions. Just forms that work.

Reliable email delivery
Zero configuration needed
Beautiful, easy-to-build forms

Try IvyForms Free →

DNS Records That Affect Ninja Forms Email Delivery

Even with SMTP configured, your emails can still land in spam if your DNS records aren’t set up correctly. This is the authentication layer that tells Gmail, Outlook, and Yahoo whether your sending service is authorized to send email on behalf of your domain.

Three DNS records matter here: SPF, DKIM, and DMARC.

SPF (Sender Policy Framework) lists the servers and IP addresses allowed to send email from your domain. Without it, any server could claim to send email as you. Your SMTP provider (SendGrid, Mailgun, Brevo, etc.) will give you a specific SPF include directive to add to your DNS.

DKIM (DomainKeys Identified Mail) adds a cryptographic signature to every outgoing email. The receiving server checks this signature against a public key in your DNS to verify the message wasn’t tampered with in transit. Your SMTP provider generates the DKIM key pair and gives you a DNS record to publish.

DMARC (Domain-based Message Authentication) ties SPF and DKIM together. It tells receiving servers what to do if an email fails authentication: nothing (p=none), quarantine it, or reject it outright.

Google’s sender requirements, enforced since February 2024, mandate SPF or DKIM for all senders and DMARC for bulk senders. Microsoft joined in May 2025, requiring DMARC for senders of 5,000+ daily emails to Outlook, Hotmail, and Live.com addresses.

Despite this, adoption remains low. Red Sift’s December 2025 tracking of 73.3 million domains found that only 14.9% have implemented even a basic DMARC policy. A staggering 83.9% have no DMARC record at all.

You can check your current DNS authentication status with MXToolbox or Google Admin Toolbox. Run your domain through these tools and look for:

  • A valid SPF record that includes your SMTP provider
  • A published DKIM record matching your provider’s signing domain
  • A DMARC record (even p=none is better than nothing)

Common mistake: Adding multiple separate SPF records. DNS only allows one SPF record per domain. If you use multiple email services (your SMTP plugin, Google Workspace, a marketing tool like Mailchimp), you need to combine all their includes into a single SPF record. Multiple records cause SPF to fail entirely.

Setting up these DNS records takes about 15 minutes per record. Your domain registrar (Cloudflare, Namecheap, GoDaddy, etc.) has a DNS management panel where you add TXT records. Your SMTP provider’s documentation walks you through the exact values to enter.

Changes can take up to 48 hours to propagate, so don’t panic if deliverability doesn’t improve immediately after making DNS updates. Test again the following day with Mail Tester to confirm everything is in place.

Ninja Forms Email Notifications Going to Spam

Your emails might be sending just fine. They’re just not arriving where anyone can see them.

This is a different problem from “not sending.” The mail server accepts the message, WordPress hands it off successfully, and the WP Mail Logging plugin shows a clean log with no errors. But the email quietly gets routed to the recipient’s spam or junk folder.

EmailTooltester’s testing across 15 major email service providers found an average deliverability rate of 83.1%, with 6.4% of emails going completely missing and another 10.5% landing in spam.

Here’s what triggers spam filtering on Ninja Forms notification emails specifically:

Domain mismatch on the “From” address: If your form sends email “from” a Gmail or Yahoo address while your site runs on a different domain, that’s an instant red flag. The “From” address should always match the domain your site is hosted on.

Missing DNS authentication records: Without SPF, DKIM, and DMARC properly configured, email providers have no way to verify you’re a legitimate sender. Google’s sender guidelines (enforced since February 2024) require at least SPF or DKIM for all senders and explicitly state that spam rates must stay below 0.3% as reported in Postmaster Tools.

Content-level spam triggers: Too many links in the email body, ALL CAPS in the subject line, or certain phrases that spam filters flag. Ninja Forms lets you customize the email message content, so keep it clean and professional.

Test your outgoing emails with Mail Tester. Send a form submission to the unique address it generates, and you’ll get a score out of 10 along with a breakdown of exactly what’s dragging your deliverability down.

One thing worth knowing: Gmail, Outlook, and Yahoo each filter spam differently. GlockApps’ Q1 2025 data showed that Microsoft’s Outlook had the steepest deliverability decline, dropping 26.73% for Office365 users compared to Q1 2024. An email that reaches Gmail’s inbox might still get blocked by Outlook. Test with all three.

Ninja Forms Conditional Email Routing and Failure Points

Sometimes only some form submissions fail to send. The form works fine for most people, but specific submissions never trigger an email notification.

That pattern almost always points to conditional logic errors in your Ninja Forms email actions.

Ninja Forms lets you set up multiple email actions on a single form, each with its own conditions. You might route inquiries to different departments based on a dropdown selection, or only send a confirmation email when a specific checkbox is ticked. Powerful stuff. But also fragile when misconfigured.

Merge Tag Errors in Conditional Fields

The most common failure: a merge tag that resolves to nothing.

If your conditional email action’s “To” field uses a merge tag tied to a field the user didn’t fill out (or a field that’s hidden by another condition), the merge tag returns empty. Ninja Forms tries to send an email to a blank address. It fails silently.

Quick test: Replace all merge tags with hard-coded email addresses temporarily. If emails start working, you’ve found the problem. Then add merge tags back one at a time until you find which one breaks.

Multiple Email Actions and Execution Order

Each email action runs independently after form submission. But conflicts arise when:

  • Two actions send to the same recipient, and the host rate-limits duplicate sends
  • One action uses a “From” address that breaks authentication while another doesn’t
  • A conditional action depends on a field value that another action modifies

Ninja Forms’ documentation specifically warns against adding multiple recipients to a single email action, as it can cause deliverability issues. Use separate actions for separate recipients instead.

Check your form’s submission data in the WordPress admin (Ninja Forms > Submissions). Every successful submission gets logged regardless of whether the email sent. Compare the submissions that triggered emails to the ones that didn’t, and look for patterns in the field values. That will tell you which condition is failing.

Server and Plugin Conflicts That Block Ninja Forms Emails

You’ve checked the email action settings. SMTP is configured. DNS records are in place. And emails still don’t arrive.

Time to look at what else is running on your site.

Patchstack’s 2024 State of WordPress Security report found 7,966 new vulnerabilities in the WordPress ecosystem, with 96% originating from third-party plugins. Plugins interact with each other in unpredictable ways, and email delivery is one of the first things to break when conflicts happen.

Conflict Type Common Culprits What Breaks
Security plugins Wordfence, Sucuri, iThemes Block outgoing SMTP connections
Caching plugins W3 Total Cache, WP Super Cache Cache form responses, prevent email triggers
Other form plugins Contact Form 7, WPForms, Gravity Forms Conflict with wp_mail() hooks
Object caching Redis, Memcached Interfere with email transients

Security plugins are the biggest offender. Wordfence’s firewall, for instance, monitors outgoing connections and can block SMTP traffic if it interprets the connection as suspicious. If you’re using a security plugin, temporarily disable its firewall module and test your form. If emails start working, adjust the firewall rules rather than leaving it disabled.

PHP version matters too. WordPress and Ninja Forms both require PHP 7.4 or later. Running an older PHP version causes compatibility issues that surface in confusing ways, including silent email failures. Check your PHP version in your hosting control panel or under Tools > Site Health in WordPress.

The classic troubleshooting approach still works best here:

  1. Deactivate every plugin except Ninja Forms (and your SMTP plugin)
  2. Switch to a default WordPress theme like Twenty Twenty-Four
  3. Submit a test form
  4. If the email sends, reactivate plugins one by one until it breaks again

Ninja Forms recommends the Health Check plugin for this process. It lets you disable plugins and themes for your browser session only, so your live site stays unaffected while you test.

If you’re running multiple plugins that handle email in different ways (say, Ninja Forms plus a separate newsletter plugin plus a WooCommerce notification system), they can step on each other. Each one hooks into the wp_mail() function. Multiple hooks trying to modify the same email can cause one or both to fail. Consider whether you actually need all of them, or if one SMTP plugin can handle routing for everything.

How to Verify Ninja Forms Email Is Working After Fixes

You’ve made changes. Maybe you installed WP Mail SMTP, updated your DNS records, or fixed a plugin conflict. Now you need to confirm everything actually works, and that it keeps working.

Don’t just send one test and call it done.

Test Across Multiple Email Providers

Send test submissions to at least three different email services: Gmail, Outlook, and Yahoo.

Each provider uses different spam filtering algorithms. GlockApps’ data showed that average inbox delivery rates decreased across all monitored email service providers in Q1 2025 compared to Q1 2024. What works today might not work next month if a provider tightens its filters.

Confirm each test email:

  • Arrived in the primary inbox (not Promotions, not spam)
  • Displays the correct “From” name and address
  • Contains all the form data from the submission
  • Shows the right “Reply-To” address

Monitor Ongoing Delivery with Logging

Keep WP Mail Logging active after your fixes. It’s lightweight and gives you a running record of every email WordPress sends.

Check the log weekly. Look for new errors or patterns of failed delivery. WP Mail SMTP’s Pro version offers email failure alerts via email, Slack, or SMS, which is worth the upgrade if your lead generation form handles a significant volume of submissions.

Also re-check your Mail Tester score after DNS changes. SPF, DKIM, and DMARC records can take 24 to 48 hours to fully propagate. Run the test again the next day to verify your score improved.

Set Up a Fallback Notification System

Email isn’t the only way to receive form submissions.

Ninja Forms stores every submission in your WordPress dashboard under Ninja Forms > Submissions. That data is there regardless of whether the email notification works. So even if email breaks again, you won’t lose leads.

For extra safety, consider adding a webhook action that sends submission data to Zapier, Slack, or a Google Sheet. If your email ever goes down again (and on shared hosting, it probably will at some point), you’ll still get notified through a backup channel.

Some site owners also set up a second email action pointed at a different address on a different provider. If Gmail blocks the notification, the backup sent to a Proton Mail or Outlook address might still get through. Belt and suspenders, but it works.

If your form design includes a form submission confirmation message that shows on-screen after submission, your visitors at least know their message went through. That buys you time to fix email issues without losing trust, even if the notification to your inbox is delayed.

FAQ on Ninja Forms Not Sending Email

Why is Ninja Forms not sending email notifications?

WordPress uses the PHP mail() function by default, which lacks authentication. Most hosting providers block or restrict it. Installing an SMTP plugin like WP Mail SMTP bypasses this limitation and routes emails through a properly authenticated service.

Does Ninja Forms actually send the email itself?

No. Ninja Forms passes form data to WordPress, which hands it to your web host. Your host packages and sends the email. If delivery fails, the issue is almost always at the hosting or authentication level, not the plugin.

How do I test if my Ninja Forms emails are working?

Install the WP Mail Logging plugin and submit a test form. Check the log for errors. You can also send a test to mail-tester.com to get a deliverability score and pinpoint exactly what’s failing.

Why are Ninja Forms emails going to spam?

Missing SPF, DKIM, or DMARC records are the usual cause. Without these DNS authentication records, Gmail and Outlook treat your emails as suspicious. A mismatched “From” address also triggers spam filters consistently.

What SMTP plugin works best with Ninja Forms?

WP Mail SMTP is the most widely used option, with millions of active installations. Post SMTP and FluentSMTP are solid alternatives. Any of them override the default PHP mail function and work with Ninja Forms automatically.

Which SMTP service should I use for WordPress form emails?

For low volume, Brevo offers 300 free emails per day. SendGrid and Mailgun handle higher volumes reliably. Gmail SMTP works for testing but hits daily limits quickly during traffic spikes.

Can security plugins block Ninja Forms email delivery?

Yes. Wordfence and Sucuri firewalls sometimes block outgoing SMTP connections. Temporarily disable the firewall module and test your form. If emails start arriving, adjust the firewall rules to whitelist your SMTP provider.

How do I fix Ninja Forms email on GoDaddy hosting?

GoDaddy restricts outgoing email on shared plans. Fill in the “Subject” and “Email Message” fields in your email action (leaving them blank causes silent failures). Then install an SMTP plugin to bypass GoDaddy’s mail restrictions entirely.

What DNS records do I need for Ninja Forms email delivery?

You need three TXT records: SPF (lists authorized sending servers), DKIM (adds a cryptographic signature), and DMARC (tells receivers how to handle failed authentication). Your SMTP provider’s documentation gives you the exact values.

Why do only some Ninja Forms submissions fail to send email?

Conditional email actions with merge tags that resolve to empty values cause partial failures. Check your Emails & Actions tab for conditions tied to optional fields. Replace merge tags with hard-coded addresses to isolate the problem.

Conclusion

Ninja Forms not sending email comes down to how WordPress handles outgoing mail at the server level. The plugin itself rarely causes the failure. Your web host, your DNS configuration, and your authentication setup are what determine whether form notifications reach the inbox.

An SMTP plugin connected to a transactional email service like SendGrid, Mailgun, or Brevo fixes the problem for most sites. Pair that with properly configured SPF, DKIM, and DMARC records, and your deliverability improves dramatically.

Check for plugin conflicts if emails still fail after SMTP setup. Keep WP Mail Logging active to catch future issues early.

Test across Gmail, Outlook, and Yahoo regularly. Email provider filters change often, and what works today might need adjusting next quarter. If you’re exploring Ninja Forms alternatives, look for plugins with built-in email delivery monitoring to avoid this problem entirely.