Membership Email Deliverability – It’s a big deal!

Email Reminders WordPress Membership PluginWorking in WordPress support over the past seven years has taught me a lot of important lessons both good and bad. First, you should always have a backup! Second, and almost as important, you have to know that your emails are being delivered quickly and reliably to your member’s inboxes. In all my years in support I’ve seen very few site owners who have given a second thought to how their emails are being sent out, where they’re being sent from, and what potential issues they could come up against by leaving WordPress emails as their default.

Don’t get me wrong, the fact that WordPress will almost always be able to send out emails without you having to so much as lift a finger to make it happen is incredible. But there are some potential issues that should be considered.

Without getting too technical here, WordPress (by default) will attempt to send emails by using a local mail server when possible. This means 99% of the time your emails are coming from the same webserver your site is hosted on. That doesn’t sound so bad, but here are the issues that often get overlooked:

  • Are you on a shared hosting server? If so, what have other website owners on the server done to tarnish its reputation with email providers?
  • What history does your server’s IP address have with email blacklists?
  • Does your webhost allow you to customize the “From” email address and “From” name in outgoing emails?
  • Does your webhost put limits on how many emails you can send per day/month? If so, what are those limits? How likely are you to reach them?
  • What is the up-time of the mail server provided by your host and how quickly can/do they fix issues?
  • What happens to emails that fail to send? Do they get retried — or just dropped?
  • How many other users are sharing the mail server with you? How fast does the webhost serve up requests?

There are other issues, but these are the most common and are a really good starting point in determining if your email server is going to be reliable or not.

Consider for example that you’ve configured a Reminder email in MemberPress to notify members 1 week before their credit card expires. Now imagine that you have 800 people (a bit exaggerated, but not unbelievable for a large subscription site) whose credit cards will be expiring at the end of the current month. On the day that the reminder gets triggered, MemberPress will send out 800 emails throughout the day to these members informing them that they need to update their credit card information. Now imagine that your web host limits you to 300 emails per day, and on top of that, they drop any emails into a black hole after you’ve reached that limit. That means 500 people now have no idea that their credit cards need to be updated before their subscription will lapse!

Or, what if your mail server was put on a blacklist for many of the large email providers. How many of those 800 folks would never see that email because it’s been marked as spam?

Considering these issues is something you really should be doing to save yourself a lot of customer support and financial headache. This is crucial if you’re running a membership site with something like MemberPress. Your members will expect emails with instructions almost immediately after signing up, and they’ll no doubt want to be reminded before their subscription expires or auto-renews. If they don’t get reminded before getting charged you can guarantee they’re not going to be happy with you. And it’s never fun to get yelled at, period.

Right now you’re probably thinking, “Great! Another thing to stress and worry about.” But I have some good news, these issues can be avoided completely by using a 3rd party mailing service like SendGrid, Mandrill, MailGun, Amazon SES, or other email services. That’s what they do! So why not let them worry about these issues for you?

Here at Caseproof we love SendGrid. We have set up all of our WordPress sites to send emails via their mail servers. We literally set it and forget it. And the best part is you can do the same for free. SendGrid offers up to 400 emails a day absolutely free, which should be more than enough for most small to medium WordPress membership sites. And for those of you that need more, their pay-as-you-go plan is surprisingly cheap.

Another great feature of most 3rd party mailing services is that all emails and fail-to-send alerts are logged. If a customer complains about not receiving an email, check the log and see if there was an issue delivering their email. More often than not, the customer simply incorrectly entered their email address when signing up.

Mandrill, MailGun, and Amazon also have free tiers which you can use, but for this installation guide, I will be using SendGrid because I know they’re reliable and super easy to get started with.

Step 1 – Signup For Sendgrid

Head to and create your free account.

Step 2 – Tell WordPress to send emails via SendGrid

This sounds complex, but it’s really easy I promise. Head to your WordPress Dashboard > Plugins > Add New. Now search for “SendGrid” and install the official SendGrid plugin (see screenshot below):

Adding SendGrid Plugin to WordPress

After installing and activating the plugin head to your WordPress Dashboard > Settings > SendGrid. Enter your username and password for the free SendGrid account you created, choose API method and Save the settings.

SendGrid Settings

MemberPress will override the “Name” and “Sending Address” fields under “Mail Settings,” so there is no need to fill those out.

That’s it! You can now sleep well knowing that your emails will be delivered quickly and that SendGrid is dealing with all the stressful parts for you.

About Paul C

Paul is one of the core developers of MemberPress and is the Lead Support Engineer for Caseproof. He's been focused on WordPress development for years. Although Paul's primary focus now is developing and supporting MemberPress, he's built significant WordPress plugins, themes and launched numerous full WordPress websites for clients.