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 name@gmail.com. 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 wordpress@yourdomainname.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.
Necessary cookies are absolutely essential for the website to function properly. These cookies ensure basic functionalities and security features of the website, anonymously.
Cookie | Duration | Description |
---|---|---|
cookielawinfo-checbox-analytics | 11 months | This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Analytics". |
cookielawinfo-checbox-functional | 11 months | The cookie is set by GDPR cookie consent to record the user consent for the cookies in the category "Functional". |
cookielawinfo-checbox-others | 11 months | This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Other. |
cookielawinfo-checkbox-advertisement | 1 year | The cookie is set by GDPR cookie consent to record the user consent for the cookies in the category "Advertisement". |
cookielawinfo-checkbox-necessary | 11 months | This cookie is set by GDPR Cookie Consent plugin. The cookies is used to store the user consent for the cookies in the category "Necessary". |
cookielawinfo-checkbox-performance | 11 months | This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Performance". |
laravel_session | laravel uses laravel_session to identify a session instance for a user, this can be changed | |
viewed_cookie_policy | 11 months | The cookie is set by the GDPR Cookie Consent plugin and is used to store whether or not user has consented to the use of cookies. It does not store any personal data. |
XSRF-TOKEN | 2 hours | The cookie is set by Wix website building platform on Wix website. The cookie is used for security purposes. |
__cfduid | 1 month | The cookie is used by cdn services like CloudFare to identify individual clients behind a shared IP address and apply security settings on a per-client basis. It does not correspond to any user ID in the web application and does not store any personally identifiable information. |
Functional cookies help to perform certain functionalities like sharing the content of the website on social media platforms, collect feedbacks, and other third-party features.
Performance cookies are used to understand and analyze the key performance indexes of the website which helps in delivering a better user experience for the visitors.
Cookie | Duration | Description |
---|---|---|
YSC | session | This cookies is set by Youtube and is used to track the views of embedded videos. |
_gat | 1 minute | This cookies is installed by Google Universal Analytics to throttle the request rate to limit the colllection of data on high traffic sites. |
Analytical cookies are used to understand how visitors interact with the website. These cookies help provide information on metrics the number of visitors, bounce rate, traffic source, etc.
Cookie | Duration | Description |
---|---|---|
_ga | 2 years | This cookie is installed by Google Analytics. The cookie is used to calculate visitor, session, campaign data and keep track of site usage for the site's analytics report. The cookies store information anonymously and assign a randomly generated number to identify unique visitors. |
_gid | 1 day | This cookie is installed by Google Analytics. The cookie is used to store information of how visitors use a website and helps in creating an analytics report of how the website is doing. The data collected including the number visitors, the source where they have come from, and the pages visted in an anonymous form. |
Advertisement cookies are used to provide visitors with relevant ads and marketing campaigns. These cookies track visitors across websites and collect information to provide customized ads.
Cookie | Duration | Description |
---|---|---|
IDE | 1 year 24 days | Used by Google DoubleClick and stores information about how the user uses the website and any other advertisement before visiting the website. This is used to present users with ads that are relevant to them according to the user profile. |
test_cookie | 15 minutes | This cookie is set by doubleclick.net. The purpose of the cookie is to determine if the user's browser supports cookies. |
VISITOR_INFO1_LIVE | 5 months 27 days | This cookie is set by Youtube. Used to track the information of the embedded YouTube videos on a website. |
Other uncategorized cookies are those that are being analyzed and have not been classified into a category as yet.
Cookie | Duration | Description |
---|---|---|
CONSENT | 16 years 9 months 6 days 9 hours 9 minutes | No description |