Sign with words and an envelope, "Help. WP emails get lost".Since the start of 2015, we have seen a huge increase in WordPress email being sent into the ether. The ramifications of this are very impactful to clients and their customers. Alerts aren’t received from shopping cart sales, password resets aren’t received, and acceptance into affiliate programs is lost. Switching to SMTP mail from the WordPress default solved this in almost every instance.

The call usually started like this, “Help people aren’t getting the emails from my site.” These emails included signup information for memberships and online courses, password resets, and WooCommerce sales. The confusion set in when I explained that the mail was most likely getting caught in spam filters. Answers like, “No it’s not in my spam folder,” and “but it was working fine a few days ago” were common. Let’s take a look at what is usually happening in these cases, why it happens, and how to fix it.

Understanding WordPress Email

The WordPress default email configuration wp_mail, uses PHP to send email. In this configuration, there is no verification of email addresses and sending information and is therefore not always trusted by Internet spam filters, meaning that these emails are frequently dismissed. This isn’t something you’ll find in your spam folder. It is being caught by the filters much higher on the Internet at the server level. Basically, because you don’t have to login to a mail server to send the email, the filters don’t trust your identity.

Using the SMTP (Simple Mail Transfer Protocol), and a trusted sender like SendGrid, Send in Blue, or Mandrill will help your email get through to its intended recipients. SendGrid, Send in Blue, and Mandrill are services that provide trusted SMTP email options. You can also send SMTP mail through your Google gmail account, but this will display the from as your gmail.com account not your business domain.

The SMTP services available have a variety of pricing plans and some include free plans. Most free plans do not include a dedicated IP address. This may become important if you are sending large numbers of emails from your site.

Why is a Dedicated IP Address Helpful?

An IP Address is the physical name (it’s actually a number) of a server. If you have a dedicated IP address for your email, it means that every email you send uses that same email address. This provides credibility that you really are who you say you are. When first getting started in business and SMTP email, this may not be required. As you grow your website, particularly a membership or online courseware site, it may be beneficial to use an SMTP service that provides a dedicated IP address.

 

Using SendGrid for SMTP Mail

SendGrid’s basic plan allows 12,000 emails per month free and then the Pay as You Go pricing is .10 per 1000 emails sent with a monthly minimum of $1.00. This is plenty of emails for many shopping carts and membership websites. If you are sending newsletters through your website instead of a third party email marketing company, many of these can be configured to use SMTP also to make sure that the emails get through. Note that the free version of SendGrid does not provide a dedicated IP address. In order to have a dedicated IP address, you’ll need a monthly plan which starts at $9.95 for up to 40,000 emails per month.

 

The SendGrid WordPress Plugin

By default, the SendGrid WordPress plugin allows you to send using either SMTP with your SendGrid username and password or using the SendGrid API, which provides additional security. In my configuration, I received errors using the API and have entered a support ticket. I successfully configured SMTP and am using this. To run SMTP with the SendGrid plugin, you must also install the Swift Mailer plugin. This is a plugin that simply loads some mailing libraries that the SendGrid plugin uses in sending.

 

Screen grab of SendGrid plugin listing in WordPress repository.Install the SendGrid plugin , then install the Swift Mailer plugin. In the next steps we’ll configure the SendGrid plugin. There is no configuration required for Swift Mailer. Note that these plugins do not show as tested with the latest version of WordPress (4.4.2 as of this writing). So far, I have been using them with no issue, but I hope they will get them updated in the repository soon.

 

To Configure the Plugin, from the Dashboard, select Settings > SendGrid.

 

First set your SendGrid credentials.

 

Screen grab of SendGrid credentials settings.
  • Select either API or Username&Password for authentication. In our case, Username&Password. Note that if you opt to use the API method, you’ll need to get your API credentials from your SendGrid account and enter these.
  • Enter your username.
  • Enter your password.
  • Select SMTP for Send Mail with.
  • Enter Port 587 unless your SendGrid instructions have something different.

Scroll down and configure your Mail settings.

Screen grab of SendGrid mail settings.

  • Enter the name of you or your company that will be shown as the sender.
  • Enter the name of the sending email address. This will appear as the address it was sent from.
  • Enter a reply email address. This can be different than the sending email address.

For our purposes using SendGrid to send transactional emails, those are the main settings. If you are using SendGrid for more advanced mailing list management or newsletters, you may want categories or a template. For our purposes, leave these blank.

  • Enter if you want the email to send as text/plain or text/html.
  • Select Update Settings.

Test the configuration to make sure it works.

Screen grab of SendGrid test email.

  • Enter the email address where you want the test to go.
  • Enter a subject.
  • Enter a message in the Body area.
  • Enter headers, if desired.
  • Press Send.

As long as the configuration is correct, your message should go through. If not, double check the settings.

Why SendGrid

I chose to provide the most information on SendGrid, because I’ve been actively using it for a few years with good success. I will be looking more into Send in Blue to see their offerings. With Mandrill’s changes for plans, I will probably stick with the other two.

Mandrill for SMTP Mail

Mandrill is made by the same company that brings you the MailChimp email marketing service. Their plans are all paid plans starting at $9.95 per month for up to 25,000 emails. They do allow for the first 2000 emails to be sent as trials, so you may be able to test this for awhile without actually being charged. Mandrill recently announced that they are changing the coverage on their transactional emails, and it appears that they will only have paid plans.  People who want no cost options, are now looking for different services. http://wptavern.com/mandrill-to-discontinue-free-tier-for-transactional-emails-developers-seek-alternatives

Send in Blue for SMTP Mail

During the research on this article, I found another provider called Send in Blue. Their program looks very promising and I’ll be testing it and reporting back in the future. Both SendGrid and Send in Blue have options for sending newsletters from within their application. While this article is designed specifically to examine sending transactional emails, I’ll evaluate the newsletter features of both next time.

See the WordPress Codex for more Lost Email Information

http://codex.wordpress.org/FAQ_Troubleshooting#E-mailed_passwords_are_not_being_received

By using SMTP email from a trusted source that requires you to have login before sending against their servers, you can help insure that the transactional emails from your website will be received by your customers.