Have you noticed that it's been a while since you've received an email from your WordPress site's contact form, then learned that people have been submitting form entries, but you haven't been getting the emails? This scenario is becoming more common as email service providers (Google, Microsoft, etc.) are increasing the security of their email services. Fortunately, you can use SMTP for more reliable email deliverability.
Note: This page contains affiliate links. Please see Affiliate Disclosure.
To combat spam, phishing, fraud, and other email-based threats, email service providers have become more strict about email security technologies such as SPF (Sender Policy Framework), DKIM (DomainKeys Identified Mail), and DMARC (Domain-based Message Authentication, Reporting and Conformance). These technologies can be used to ensure that email is only sent by authorized parties.
By default, WordPress uses wp_mail(), a PHP function, to send email.
When your web server sends an email from WordPress, it may send it from an address on its own domain, rather than yours. This is more likely if you don't use your web host as your email service provider. For example, if your host is SiteGround, your WordPress email may come from the address yoursitename@us111.siteground.us, even though the email shows the sender as wordpress@yourdomain. When email services and spam filters notice the difference, they may block the email.
In other cases, the web server may send email from an address on your domain, but the web server often isn't authorized to send email for your domain, so the email is likely to be marked as spam or blocked from delivery.
For these reasons, although the default wp_mail() worked well enough years ago, it's time for a more reliable approach to ensure email deliverability.
Your web host may have a preferred way to send WordPress email, such as running their own mail servers, or integrating with an SMTP (Simple Mail Transfer Protocol) service. For example, Flywheel integrates with SendGrid. You add 3 DNS records, then your WordPress site's email is routed through SendGrid. To find out your host's options, search [host name] email authentication (e.g., WP Engine email authentication) or [host name] SMTP (e.g., SiteGround SMTP). If you don't find any results, you can ask your host's support.
If your host doesn't have a recommended method, consider the WP Mail SMTP by WPForms plugin. It allows your WordPress site to send email through a variety of mailers. The plugin is free, and some of the mailers will send 100-300 emails per month for free. Here are instructions for using Brevo, the service that provides the most free emails. Here's the documentation for other mailers.
An alternative plugin is Post SMTP Mailer/Email Log. It's less popular than WP Mail SMTP by WPForms, but supports Mandrill, in case you want to use that email service.
After configuration, be sure to test your website's ability to email. The WP Mail SMTP by WPForms plugin includes a testing tool (in the WordPress admin menu, click WP Mail SMTP, then click the Email Test tab). You should also send a test through your contact form.
If your WordPress site still isn't sending email after trying the steps above, you should contact your web host and ask what you can do to get emails to send from your WordPress site.
You may have never thought you'd need to worry about how your WordPress site sends email. There are a lot of aspects of WordPress sites that are often overlooked. If you'd rather not be bothered by them, let OptimWise maintain your WordPress site, so that you can focus on running your business.
Yes Chad! I'm also using WP Mail SMTP plugins. Thank you for sharing this informative article, I think these information will help the people who are facing the problem. Great Work! Keep posting!