Problems with WordPress emails not sending or arriving are common; Form results might not arrive even though the form seems to be ok and/or plugin notifications never arrive. This can be due to one or more factors. Sometimes there is a simple fix and sometimes, when all avenues have been exhaused, the only thing left to do is make that dreaded call to your server/host administrator.
Let’s try and avoid that call.
WordPress form results are sent as emails, to successfully do this;
That all sounds very complicated to most of us that have never dealt with such things, so let’s break it down and see if we can find out where the problem lies.
WordPress will try and send emails out using the SMTP protocol, which is built in to most server setups. ‘Most’ being the key word here, an increasing number of WordPress hosts are disabling email hosting for security reasons, but this needn’t mean you’re stuck.
First, let’s check to see what the situation is. We’ll use a simple plugin for this, it’s called Check Email, developed by MachoThemes, you can read about it here.
Install the plugin, enable it and then from your WordPress Tools menu, select Check Email. Fill in your email address (preferrably one that uses a different domain from the website itself) and click the button to send. Wait a while and check your inbox.
If you received the email then you’ve got an issue with the form/plugin that isn’t sending results. Check the email addresses configured in the plugin itself and the main email address for your WordPress admin account. If they all look ok, then you’ll need to ask for support from the developer.
If you didn’t receive an email and you’ve left it a couple of hours just in case, then try one more time, with a different email address
This probably means the server can’t or won’t handle outgoing emails. We can try to get around that by using another plugin. First, let’s remove or at least disable the Check Email plugin.
Once you’ve done that, go to Plugins > Add New and do a search for WP Mail SMTP by WPForms. Install it, activate and go to the settings – you can use the Lite version for free. At this point you’re going to be given a choice of services to use for routing emails, most of which will cost you money, but if you have a Gmail or GSuite account set up with Google, then you can use their SMTP service for free – set a free gmail account up now if you don’t have one or would prefer to keep your WordPress emails seperate.
NOTE: All of your emails will come from this GMail/GSuite address, so use a suitable firstname.lastname@example.org. If your business email runs through GSuite then use that, all your emails will then come from the correct, matching domain name.
With the GMail/GSuite login credentials to hand, follow the instructions here.
Once you’ve followed all of the instructions, you should now have working email sending from WordPress. The WP Mail plugin has a test email function, use that to check.
If your email server is checking for address spoofing (which most are), then incoming emails sent from your webserver may well be treated as dangerous … it works in this way;
Your form results are set to send from email@example.com, a lot of form plugins will only allow the email domain name used to be the same as the site uses, you can’t change this. The form results are sent out from the webserver to the yourdomainname email server.
That server says “hang on, I didn’t send this, the (hidden) email header details are all wrong, it must be spoofed, I shall bin it”. This is a perfectly acceptable standard configuration for an email server, so what can be done?
You have two options:
If you’re still struggling, give us a shout, we can take a look for you.