Note: This article is related to how your WordPress site sends out email, not your main/personal email service.
Email has been around since the dawn of the internet, however it is also really hard to do well. Spam is so prevalent that it is in everyone's best interest to use a dedicated email provider to ensure optimal deliverability.
By default, WordPress relies on a low level function on a server called mail() to send out notices to site admins such as pending comments, password resets, and the like.
Our policy is to restrict the volume and velocity of outbound email from our servers. A typical WordPress site should not be sending a high volume of email, Especially when better solutions like the Third Party Services described below exist.
Please consider the following:
To increase the performance of email service we recommend you utilize a third party, and NOT to rely on the servers mail() function to deliver email. Furthermore it is our policy to not allow any bulk sending of any kind, such as for email marketing, newsletters, etc.
If your site relies on email deliverability, such as for purchase receipts, digital download links, or something else, we STRONGLY advise you to utilize a third-party service as described below.
Improve Email Deliverability in WordPress
The first thing you will want to do is utilize a WordPress plugin that will direct WordPress to use a different method for sending email. This can be generic SMTP (use's your email service) or use a dedicated email company.
Email Delivery Options
SPF DNS Records (Good)
This allows our relay service to send messages on your domains behalf so that contact@yourdomain.com will work as a from address.
- If a SPF Record is already created: Contact your DNS provider and have them append include:relay.mailchannels.net to your current SPF record.
- If no SPF Record is present: Contact your DNS provider and have them add a TXT record for: v=spf1 a mx include:relay.mailchannels.net ?all
SMTP (Better)
This option will send mail via your gmail, yahoo, or domain registrar email system.
- Download and install the Easy WP SMTP plugin on your WordPress site.
- On the options screen, enable the SMTP option and enter in the details for your mail server.
- Send a test email from your WordPress site to ensure everything is working properly.
3rd-Party Email Services (Best)
The best option is to use a dedicated 3rd-party email service such as SendGrid, SparkPost, or Mailgun.
- SendGrid: Download and install the SendGrid plugin, then configure it by following their instructions; requires a paid subscription.
- SparkPost: Download and install the SparkPost plugin https://wordpress.org/plugins/sparkpost/ and configure following their instructions. The free account allows 100k free emails per month.
- Mailgun: Download and install the plugin the Mailgun plugin, then configure following their instructions. Mailgun requires a subscription but there is a free tier still available.
Options We DO NOT Recommend
- Mandrill: Mandrill is a three year old plugin that is NOT PHP7 ready. We once recommended this plugin, but can no longer do so.
In a nutshell, the default email system in WordPress is not optimal as it is designed to work on the widest variations of platforms and servers. If email is important to you or your business you should strongly consider using a service to handle it that is dedicated to the task