WordPress has a built-in feature for sending emails, but unfortunately, that email functionality isn’t always reliable. When you depend on WordPress, it’s possible that a portion of your emails will never get where they need to go.
To ensure the emails WordPress is sending reaches your and other people’s inbox without sending errors or deliverability problems (like being marked as spam), you can either use an external service or SMTP services with your existing providers (like Gmail) for sending those emails.
In this article, we’re going to cover both options.
Table of Contents
How does WordPress send emails?
If you install WordPress out-of-the-box, it isn’t well designed to send you any emails. WordPress isn’t intended to be an email service. After all, it is designed to be a CMS.
WordPress relies on the web host to send messages, like contact form submissions, invoices, and email notifications on its behalf.
A typical WordPress installation sends an email like this:
#1 WordPress prepares to send your email using the internal wp_mail() function. You can specify the recipient, the subject, the message contents, and any attachments.
wp_mail( $to, $subject, $message, $headers, $attachments );
This is how the Evergreen Content Poster sends its notifications too.
#2 The wp_mail function then calls the built-in mail() function within PHP, which is part of the PHPMailer Library, to instruct the mail server at your hosting provider to send the email.
#3 Your hosting provider will attempt to deliver your email with varying results; sometimes, it ends up in your spam mail or is not sent at all.
Why don’t WordPress emails get delivered?
Although WordPress uses the PHP coding language for almost all of its functionality, including sending emails, the PHP mail function sometimes seems to have a bit of a mind of its own, and your server has to be set up correctly for it to work as it should.
Worse, because of hacked websites abusing the PHP mail functionality for sending unsolicited emails, your WordPress hosting company will sometimes disable PHP email functionality so website owners can’t send spam emails.
The sad thing, though, is with the PHP function disabled, people may miss totally legit, non-spam emails — like your newsletter, registration confirmations, password reset requests, or in our case, notifications sent by the Evergreen Content Poster whether or not your post has been shared successfully on social media.
So instead of relying on your hosting providers’ default settings for sending emails, many WordPress users end up installing a third-party SMTP plugin to better configure and control how WordPress is sending emails.
The plugin tells WordPress to send emails using the Simple Mail Transfer Protocol (SMTP) instead of using the default settings of your hosting provider.
When installed correctly, a plugin like that takes over the functionality from wp_mail, so all other plugins like ours that want to send an email don’t have to make any changes to their code, and it works right out of the box.
How to check if WordPress is sending emails
If you’re having problems with your WordPress site’s emails (probably the reason why you ended up here), the first step is to test whether your site can send emails. This will alert you to any potential issues (which we’ll also show you how to fix in the next step).
To check and debug issues with your WordPress installation sending emails, you can use the free Check & Log Email plugin.
After you’ve installed and activated the plugin, you can see a new menu option in the left menu bar, “Check & Log Email” click on there and enter your email address in the “send a test email” field, followed by you clicking the “Send test email” button.
Leave the rest of the settings as is to see whether your default installation can send and deliver email.
Now, head over to your inbox and see if the email arrived. If you don’t see it straight away in your inbox, be sure to check your spam folder, too.
Your WordPress installation can have three possible scenario’s here:
- All is okay, the email got delivered perfectly to your inbox, and WordPress is capable of sending and delivering emails
- The email got delivered to your spam inbox. All is not lost, your WordPress installation can send emails, but authentication issues are causing your (and potentially others) email providers to flag the email as spam.
- No email in your inbox or your spam inbox. This means WordPress isn’t capable of sending emails (probably your hosting provider disabled this setting, as mentioned earlier)
Are you seeing option two or option three? Then let us show you how to fix your WordPress installation with a dedicated email-sending solution, which will fix both problems simultaneously.
How to configure WordPress to send emails using SMTP
Although there are a bunch of options to troubleshoot more in-depth why emails are ending up in spam, like sending your emails to a third party to assess their SpamAssassin score, authenticating your web server to be able to send emails by adding SPF and DKIM records, you probably just want a quick solution to the problem.
The best and easiest way to fix the problem is to configure WordPress to use a dedicated SMTP-sending service. If you use such a service, you can easily make WordPress sending you emails much more reliable, ensuring emails arrive AND do not end up in a spam box.
Some of the most op popular services to use here are:
- SendGrid (free up to 3,000 emails/month or 100 emails per day)
- Amazon Simple Email Service (SES) (free up to 62,000 emails per month)
- Gmail (yups, you can configure WordPress to use your Gmail account for sending emails)
- Microsoft Outlook (just like Gmail, your can also use your personal Outlook account for sending emails)
So how to configure WordPress to send emails using any of the above-listed email services?
Simple, just install WP Mail SMTP. As you can see, they support all of the popular options above and more:
After installing and activating the plugin, go through their onboarding, select your mailer of choice, and presto. The emails that WordPress sends (including our notification emails) arrive in your inbox.
Do you still have any questions about how to work with WordPress sending emails? Let us know!