Email can be really frustrating! Here’s what you can do about it.
We share your pain, believe me. Probably the most often voiced frustration to our support team from our users is related to their Ninja Forms email not working as expected.
Interestingly, the vast majority of these frustrations can be resolved with one simple solution. If you’re experiencing or have experienced the aggravation of your Ninja Forms email not working, this post’s for you. In the next couple of minutes we’ll address where the problem comes from and how to fix it in 90%+ of the cases that cross our support queue. Take a look!
90% of email problems happen because…
First let’s identify the likely problem, then we’ll review solution options. To begin, we need to make something abundantly clear:
Ninja Forms does not send email.
Let me say that again for the record: Ninja Forms does not send email. Neither does WordPress. Both ourselves and WordPress are involved, but neither of us send email. The actual sending of email is handled by your web host. The process looks like this:
- Your Ninja Forms email action triggers on form submission.
- Ninja Forms passes the email action data to WordPress.
- WordPress relays the email action data to your web host.
- Your web host takes the email action data, processes it, and sends it as an email.
90%+ of problems stem from #4: the web host actually sending the email. There are a variety of reasons this is the case, and it’s not necessarily your web host failing you. In a world where spam email is an ever present daily problem, some of the actions taken by web hosts to fight spam causes unintentional collateral damage.
We’ve gone into detail about how the above process works and the specific problems that can occur, and also practices that can make your email more susceptible to being flagged as spam. You can look there for further reading, but let’s jump now to the main solution for your email not working!
Ninja Forms Email Not Working? Do This!
First, identify where the problem is happening. A plugin like WP Mail Logging can help with this. It will return information on where in the chain of events the process is breaking down. If you’re not sure, or can’t get actionable data from WP Mail Logging, there are two ‘best paths’ forward:
- Go to your Ninja Forms dashboard and click the banner to try the Ninja Mail Service.
- Begin troubleshooting using our comprehensive email troubleshooting guide.
Use SendWP to eliminate most mail issues without needing to do anything else
SendWP is a service that we’ve developed to eliminate the pain of email troubleshooting. As mentioned above, the vast majority of email issues that we handle are caused by the web host failing to process or send the email data passed to them from WordPress.
SendWP takes over the responsibility of sending all outgoing mail from your WordPress website. If you’re having issues with Ninja Forms email not working, install SendWP. That’s all you need to do.
SendWP makes ensuring emails are delivered as simple as a couple of clicks. So you can relax, knowing those important emails are being delivered on time.
Troubleshooting email can be a pain… but this will help make it easier.
If you’re one of the unfortunate few that isn’t experiencing a simple breakdown on the web host’s end, you have a little more work in front of you. We have resources that can help make that workload as light as possible.
Check out this article: Troubleshooting Ninja Forms Email: A Comprehensive How-To Part 1
That’s the beginning of a 3-part series that will guide you through virtually every scenario in which the email chain of events can break down. It’ll also offer solutions for them.
Good luck troubleshooting, and please don’t hesitate to post questions in the comments below!
Barrett Lombardo says:
Hi. Do you know of a way to monitor that forms are working? Can ninja forms provide a digest of form submissions every 24 hours?
Quay Morgan says:
Hey Barrett, good question! As far as a periodic digest of form submissions, no. Sorry. You can definitely monitor submissions though, the easiest way being to set up an admin email action that fires off an email to an account of your choice each time a form is submitted. You can set it up so that each time it fires it actually includes the submission data (or any form data of your choice) in the body of the email.
Cheers,
Quay
Gerald Nordstrom says:
We have a client who is hosted on GoDaddy.
We have Ninja Forms installed and Contact 7.
Created a submission form with Ninja forms
Created a submission form with contact 7
The Ninja form emails do not get delivered to the client.
The contact 7 form emails DO get delivered to the client.
We have 3 other clients who are experiencing the same issue.
In all cases it is the Ninja form data that does not get emailed.
Each of these clients have one thing in common, they use some type of email exchange server. EG: Rackspace, GMAIL for business or similar.
These services seem to be rejecting Ninja form emails sent through GoDaddy, but NOT Contact 7.
We love Ninja Forms and don’t want to switch… but we may have to unless we can solve this.
Quay Morgan says:
Gerald,
Hey! If your CF7 email data is being sent and Ninja Forms data is not, it sounds like something isn’t setup properly within the email actions you’ve created. I’d first recommend double checking our email action documentation. If that doesn’t help you figure out the issue, if you’ll open a ticket in our support channel, we can help you figure out exactly what. If you wouldn’t mind including an export of one or more of the problematic forms, that would help speed troubleshooting along.
Cheers,
Quay
Rodger Kamenetz says:
Hi I’m receiving contact e-mails from my Ninja contact form via my host to my gmail account.
I am receiving the name of the person but not their e-mail address which is kind of crucial.
The form is set up so it doesn’t submit unless the person puts in an e-mail address and that
feature seems to be working properly.
What am I doing wrong?
Thanks
Quay Morgan says:
Rodger,
Hit us up in our support channel and we’ll get you squared away. Be sure to emphasize in the ticket that your email is working, and it’s just the email field data from the form that’s not going through. It will help us work on it faster as well if you could send us an export of the form, or better yet temporary admin credentials in the initial ticket. There’s either an error in the way you’re adding the email field to your form (would be helpful to check it against this first), or a hiccup in the way the data’s being passed. We can check the former first and go from there.
Cheers,
Quay
Oakley Jones says:
So if I am reading this right, once I install Mailgun, I will receive an email saying that one of my ninja forms has been filled out?
Quay Morgan says:
Oakley,
Hey! Mailgun is great if you’ve 1) Confirmed that your Ninja Forms email action is set up correctly per our documentation, and 2) are experiencing issues with sending emails via your host.
Mailgun takes over the responsibility of sending email from your host. Normally your Ninja Forms email action data is passed off to WordPress, which in turn hands it off to your host & your host then sends that data out as an email. With Mailgun installed, WordPress passes things off to MailGun instead of your host.
Cheers,
Quay
Jason says:
This is some advice for GoDaddy users who are having trouble receiving email notifications. I spent a good couple of hours trying to figure it out, and I finally discovered a very simple solution. First, in any Ninja Form in use, under “Emails and Actions” be sure that you have text entered in box “subject” and “email message” fields. If you don’t, this will not work.
Next, use the plugin Postman SMTP Mailer/Email Log (it is the only plugin that worked for me). When you activate this plugin and run the setup wizard, enter the email configuration info that is provided by GoDaddy. I am happy to report that you do NOT need to use your admin email if you have set up a more preferable email account, which is what I did. If you successfully entered everything correctly, you should begin receiving those email notifications!
I’m so happy that I found this solution, and I hope that it works well for you, too!
Quay Morgan says:
Jason, thanks for the great additional advice! Spot on.
Evan C Mclean says:
Hello Jason, I have been battling the same issue for 3 days now and Godaddy just came back and said there is nothing they can do and to try another form. Could you please provide the email config that you used? Id like to be able to receive the emails on my domain email I created with office 365.
Thanks!
Ryan Holck says:
I’m also experiencing email delivery issues with Ninja Forms and GoDaddy. Here’s an overview of the issues I’m experiencing
1) Ive confirmed with GoDaddy that email is working on their end.
2) Using the test feature with Easy SMTP I can get an email to my inbox but not to pass through a Ninja Form
3) Using the test feature with Postman SMTP I get an STMP connection confirmation and the log shows connections but nothing ever makes it to my inbox. Ninja Form emails don’t deliver either.
4) My client is using Office 365 for their email but I’m using a cPanel powered email address at the admin level for passing forms on the site.
Any thoughts or suggestions?
The site is ready to launch but broken forms keep me from completing.
Thanks
Quay Morgan says:
Ryan,
From what you’re describing it sounds like you’ve made an error in configuring your email notifications. These docs should help you pinpoint what needs to be adjusted:
https://ninjaforms.com/docs/email/
https://ninjaforms.com/docs/troubleshooting-email-problems/
Regards,
Quay
Ryan Holck says:
Quay,
I’ve confirmed the settings and now have a 2nd site at GoDaddy with the same issues.
Forms works on a test server but not on GoDaddy cPanel
Ryan
Ben says:
I just had the same problem. I went through their suggestion of using mailgun, setting up new DNS entries and everything on GoDaddy. That didn’t immediately fix the issue. Then i saw Jason’s advice above and was able to receive an email from my ninja form. Im not sure whether the mailgun part helped or not but after doing both of those things it did work. I can’t say that the mailgun setup was super easy but i got everything configured and tested in a couple hours. Hope that helps!
reloaded says:
I dont know if this is late but i thought id put this out there in any case
I have been having this same issue with ninja forms on my website, email sent using the contact form is not delivered to my inbox ( admin email)
what i realised after one hour on th phone with a godaddy hosting support specialist ( who didnt know what they where doing) is that the contact form did not have a subject line so godaddy’s servers where rejecting it as spam. i reconfigured the form and put a default subject line and this worked instantly!
MAY BE OF SOME HELP!
Quay Morgan says:
That’s absolutely helpful and not a bit too late to help others. Thank you. That’s actually a really common problem- more common than I realized when I wrote this article. I’ve begun a 3-part series here on ninjaforms.com that will hopefully do a much better job of bringing odd issues like this to light. First part can be found here, rest is soon to follow: https://ninjaforms.com/troubleshooting-ninja-forms-email-part1/
Kelsy says:
Thanks to Jason’s precious post I’ve made some progress. I’ve been having nothing but problems today with an email form and after trying various plugins the Postman SMTP Mailer/Email Log finally worked (kinda…)
When I filled out the form on my site I received an email (finally!) but it was blank. Any suggestions on how to fix this?
Site is hosted through Managed WordPress by GoDaddy and email is through GoDaddy as well since nothing else seemed to work until I created one.
Quay Morgan says:
Kelsey,
Glad you got it working! To add content to your email, you’ll need to enter content into the email message body of the email notification. Specifically to add form field data requires using merge tags. You can find a how-to on that here: https://ninjaforms.com/docs/email/
Cheers,
Quay
AG says:
Thank you for a great article!
What would be the main reason choosing and API service like Mailgun over an SMTP plugin?
Is it considered better security in anyway?
I have been trying Postman SMTP, it´s supereasy to setup and seems to work really well.
Building sites for clients, is it ok practice to ask them for an email account username and password to enter into the plugin?
Quay Morgan says:
Glad you found it useful! API vs SMTP really depends on your individual needs. API keys add an additional layer of security in that it’s one more thing that needs to be compromised if an attacker is going to exploit your account, but that’s not to say that using a SMTP is not secure. Postman is a great plugin and certainly one I’d highly recommend. Here’s a neat article from Sparkpost that delves into the pros and cons of API vs SMTP a bit: https://www.sparkpost.com/blog/differences-sending-smtp-api/
To your final question- I’d be really hesitant to ask for a client’s email username/pw, but I’m sure practices there vary a lot from person to person and who is comfortable with what. I’d be more inclined to get in touch and walk them through that stage of the process so that there’s no shadow of doubt present if anything happened with their account down the line.
Cheers,
Quay
Michael Merritt says:
Thanks this got me going on the right track!
Quay Morgan says:
Great! Glad you found it useful!
Adam says:
A similarly related issue with Ninja Forms/GoDaddy –
I have an enquiry form set up with a dropdown containing multiple options for where the enquiry is directed. I have an email action setup where the To field takes the variable data from the dropdown menu using the field selector {field:listselect_16}
This has all been working fine with one issue. One of the options in the dropdown is a general enquiry that points to an email address (hosted with Gmail) with the same domain as that of the site (all the other options in the dropdown menu go to unique external domains). When this option from the dropdown is selected – enquiries are not delivered to the Gmail address. I have switched the address for that field over to an alternate domain address and the enquiry is received with no issues (so there are not problems with the way the form or form actions are setup)
I have contacted GoDaddy and they have acknowledged known issues surrounding Ninja Forms and submissions to email addresses using the same domain as the site, however, they claim no responsibility or fixes.
Any help would be GREATLY appreciated
Quay Morgan says:
Adam,
Hey! I’d very strongly suggest switching to a dedicated mail service like Mailgun or Postman SMTP to handle your email in this case. All Ninja Forms does is pass the email action data off to your WordPress install via wp_mail(), which in turn passes it to your host (or dedicated mail solution if you have one set up). That process is not impacted at all by domain name- that’s only a factor once it gets to the host and has to move through their filters prior to them sending it (or not). Postman SMTP has the added advantage of a built in mail logger which can help you identify where in the chain email may be breaking down if you have any future issues after switching to them!
Cheers,
Quay
COLLIN JOHNSON says:
I’m not sure if this helps, but here goes anyway….
MY PROBLEM: Emails from Ninja Forms WERE NOT being delivered to gmail accounts. However, they did get delivered to my Office 365 email account.
MY SOLUTION: I simply filled out the “From name” and “From email address” in the Ninja forms settings (under advanced section of the email action). Now the emails get delivered to gmail accounts. I suppose this helps gmail to not mark the email as spam.
Erez says:
Since we changed domains our forms not working.
I’ll try one of the SMTP plugins that were suggested and see how it works out.
Ilya says:
I am a beginner in wordpress. On the website there is a form of sending the application configured using ninja forms. Listed admin email address, but the messages from the form in the mail don’t come. In the admin stay. Have installed wp mail smtp, configured via smtp.yandex.ru – the test passes. But a ninja still did not come. Maybe somehow somewhere we need to integrate them together ? Would be grateful for an answer.
Quay Morgan says:
Ilya,
Hey! Check out this comprehensive guide on email troubleshooting: https://ninjaforms.com/troubleshooting-ninja-forms-email-part1/
If you can’t get it working after going through that, hit us up in our support channel and we’ll lend a hand!
Cheers,
Quay
MK says:
Hi.
I am using Ninja Form plugin.
I can receive the mails, in submission area, below the Ninja Form Dashboard.
But its a manual thing.
I want it to be on specific email, which I set.
Is it possible with this ninja forms plugin?
Quay Morgan says:
Hey! You can set up email to include submission data using the {all_fields_table} or {fields_table} merge tags in the body of the email message. More on that here: https://ninjaforms.com/docs/email/
Cheers,
Quay
Trevor says:
Template forms with few fields work and send emails fine …
BUT larger forms do not … same email settings, same website, same plugins, even if paste the form on to the same page as the one’s that send
What could that be due to???
Thank you very much
Quay Morgan says:
Hard to say, but you can test! I’d start with a plugin like WP Mail Logging; if it’s not showing you errors after your form is submitted, then the email data has successfully passed from Ninja Forms through to WordPress. If that’s the case, then it’s likely being filtered out for some reason by your host and not being sent. Possibly they have a cap on how large the email can be? An alternative solution for sending your mail like Ninja Mail, PostSMTP, or other transactional/SMTP plugins would be worth a look.
Dana Dreifus says:
@Collin Johnson – you’re a genius, thank you!
I had the same problem with GoDaddy and Ninja Forms, and when I added my “From” email and name it worked fine. The only thing is I had to turn on the NF “Developer Mode” in settings before that option showed up in advanced.
Quay, it would be nice to have the “From” be a standard option, not something we have to turn the Developer mode on to fix.