Emails aren’t received. Reasons and workarounds
WordPress uses PHP Mail function to send emails generated by WordPress or any contact form plugin. This function is used in all WordPress themes accordingly. But often emails can’t be sent or received.
Why does it happen?
Due to the nature of PHP Mail function emails often arrive in spam folder. There is also a good chance that emails sent to popular email providers (gmail.com, hotmail.com, etc.) will be blocked before even reaching the recipient. Furthermore, in order to avoid abuse, some hosting companies apply strict limitations or even completely disable PHP Mail function.
How to go around this issue?
First of all, contact your hosting company and find out if PHP Mail function can be enabled/configured for your hosting. If yes, very likely your hosting company will help you set it up. If PHP Mail function can’t be enabled on your hosting for some reason, you can use SMTP protocol to send emails.
Sending emails via SMTP
If SMTP server is configured correctly by your hosting provider, there is a smaller chance email will end up in spam folder. Therefore, it helps to improve email deliverability. In this tutorial you will learn how to configure WordPress to send emails using your hosting provider’s SMTP server.
IMPORTANT! Before proceeding, make sure SMTP is supported by your hosting provider
To enable sending emails via SMTP you need to do the following:
Collect required SMTP details
You need to gather the following information to set up SMTP on WordPress:
SMTP Host. Name of the outgoing mail server. Type of Encryption. None / SSL / TSL. SMTP Port. Port used to transmit outbound mail to mail server. SMTP Authentication. Yes / No. In most cases this option should be enabled. SMTP Username. Username used to login to mail server. SMTP Password. Password used to login to mail server.
If you already know these details, proceed to Step 2. If you are not sure where and how to find these details, contact your hosting support staff. They will surely be able to help you in this situation.
Install and configure WordPress SMTP Plugin
Unfortunately, WordPress doesn’t have an inbuilt tool to send emails via SMTP. Therefore, you will have to use a plugin for this. The most popular SMTP plugins are:
- Easy WP SMTP. Visit plugin page
- WP Mail SMTP by WPForms. Visit plugin page
- WP Mail SMTP Plugin by Mail Bank. Visit plugin page
- SendGrid. Visit plugin page
Third party email service providers
There are many email service providers that allow you to route email through their systems. You can use them not only, if your hosting doesn’t support PHP mail() and SMTP, but simply because email service providers are secure and reliable email tools.
The main benefits of these providers include:
- Tracking of email delivery
- Possible inclusion in various whitelisting/trusted-sender programs (e.g. ReturnPath)
- The vendors use the various feedback and notification loops at the major ISPs to address spam complaints.
- They track bounce rates and provide you with stats.
- Turn-key implementation of SPF/DKIM and similar email technologies that may improve email delivery rates.
Email deliverability doesn’t depend on the WordPress theme. It depends on specification and configuration of your hosting. If you have problem with receiving emails, your hosting company will help you fix the issue in most cases. But if it is not possible for some reason, you can take advantage of some SMTP plugin or a third party email service provider.