Having your website send emails successfully is more difficult than it should be. Earlier this year WP Engine moved all of my dedicated servers over to Google’s infrastructure. Google’s has some pretty strict rules with emails which help keep their infrastructure spam free. While this does present a bit of annoyance, there are workarounds. Here are the current options for handling emails from your website on WP Engine.
Option 1 – Do nothing and hope for the best
Out of the box, websites on WP Engine sends email notifications just fine. That’s because WP Engine is doing a little bit of magic behind the scenes by routing emails through a 3rd party email provider. Here are headers from one of those emails which indicate WP Engine is using Mailgun internally.
from pod-000000 (000.000.000.000.bc.googleusercontent.com [000.000.000.000]) by mxa.mailgun.org with ESMTP id xxxxxxxx.xxxxxxxxxxxx-smtp-out-n00;
From personal experience the success rate is still fairly high. Maybe 85% of my customers have never had any issues with this out of the box setup. If you do have issues, unfortunately getting to the root of the issue is really hard as WP Engine manages these accounts. In order to troubleshoot issues, switching to one of these other options is required.
Option 2 – Configure SMTP plugin with Gmail or Google account
Using generic SMTP will not work as WP Engine utilizes Google Cloud servers. The following is taken from https://wpengine.com/support/using-3rd-party-email-provider-send-mail-wordpress/.
Please note: WP Engine utilizes Google Cloud servers, which restrict the standard outgoing email ports (25, 465, and 587). Only Google Apps may be used on ports 465 and 587. Port 25 is always blocked for all services. Any 3rd party provider you use must support sending emails over an alternate port (port 2525 is recommended), or via an API. Microsoft Office 365 currently only supports the use of ports 25 or 587 for outgoing mail and do not have an API service, meaning their service cannot be used as an SMTP solution with WP Engine’s Google Cloud servers.
You can however connect SMTP to a Google email account. This works great for smaller websites which are not generating high volumes of emails. Review Google’s sending limits here:https://support.google.com/a/answer/166852?hl=en. The nice thing about this setup is that if you any email issues you can reach out to Google for support. There are two ways to setup configure your WordPress website:
- Install and configure WP Mail SMTP. This is not recommended as Google will initially block emails due to their less secured app security settings. This also requires your WordPress website to store and reuse Google password every time an email is sent.
- Install and configure Gmail SMTP. This is recommended as it connects to your Google account using oauth App which means it’s safer and doesn’t need your password as it setups it’s own Client ID and Client secret. Configuring is more complex as shown here: http://wphowto.net/gmail-smtp-plugin-for-wordpress-1341.
Option 3 – Use a 3rd party email service
Just like WP Engine does internally you can do the same yourself. I recommend using Mailgun. They provide their own WordPress plugin which makes configuring fairly straightforward.
SMTP email is being replaced with API email
As you can see the email industry is in transition. The old way of sending and receiving using an SMTP connection is being phased out and replace by API email services which allows for greater security. Switching over to newer methods will help keep your WordPress site sending emails smoothly.