So a user has registered to your WordPress site, so they can enroll in a free course. Yet, they haven’t received their email from WordPress about logging in.

So you have to go through the trouble of manually resetting their password and sending to them. Which isn’t ideal for security. Not good!

This is one of those issues that is commonly blame-shifted from LearnDash to WordPress. And WordPress does attempt to send out an email to each new user.

However, it’s not really WordPress’s fault either. WordPress itself is not capable of the actual sending of emails.

Pikachu is surprised to hear this.

It’s not something a plugin alone can help with either, because a plugin cannot conjure up the ability to send emails out of thin air.

Okay, so why doesn’t it work?

Kind of like WordPress relies on a web server (like Nginx or Apache) to serve webpages, WordPress also relies on a mail server (like Postfix) to send emails.

When WordPress does not appear to be sending emails as expected, it’s usually because of one of two reasons:

1) There is no mail server available

In other words, your WordPress site has a stamped envelope ready to send, waves it around and asks “anyone wanna send this for me?” and nobody hears the call.

Why would that be? I don’t know. Maybe your web hosting provider disabled it for some reason.

Although your web hosting provider is in the business of provided web hosting services, not email sending services, so I wouldn’t bug them about it.

2) Your mail server’s reputation is hot garbage

In other words, you dropped a stamped envelope in the mailbox, and the mail carrier carried it all the way to the recipient’s local post office. Nice! Almost there.

Although the receiving post office looked at your mail, saw where it came from, and decided it looked so disgusting that they ran it through a shredder.

This could be why your sent emails “don’t even show up in spam.”

Before you start writing an angry letter to your web hosting provider, keep in mind they are in the business of providing web hosting services, not email sending services.

Demanding they “make their email sending reputation better” probably won’t get you anywhere, and it’s not entirely within their control.

You need to be pragmatic and take matters into your own hands with the options you have available. And there are (free!) options that will enable you to solve this issue in no-time.

Use dedicated email sending provider

This will help you no matter which “why doesn’t it work?” option applies to your site.

Step #1: Understand the economics

Since the act of sending an email is pretty cheap (a fraction of a cent) many dedicated email sending providers will provide a “free” plan.

On this plan, they subsidize the expenses you incur, and hope that you grow and send more emails so they can start charging you.

One example of a freemium email proivder is sendinblue, which I will be using for this tutorial.

Sendinblue offers a free plan.

At the time of this writing, they offer up to 300 free emails per day. If you’re just getting started, this should be fine.

If you need more than that. Feel free to shop around. In no particular order: MailGun, SparkPost, and many others could work for you.

Step #2: Understand the low switching costs

While these email providers offer value-add services like “analytics” that could lead to some degree of lock-in, at the end of the day your primary concern is email deliverability.

Why am I telling you this? Two reasons:

1) So you don’t freak out if what was once a free plan goes away, or prices otherwise increase. You might be grandfathered into the old plan, although that might not be an option.

2) So you don’t sweat the decision and get into analysis paralysis. There is not really a “best” email sending provider. Just pick a good one, and move on. If you need to switch later on, it’s not that big of a deal.

Step #3: Actually sign up for an account

As mentioned above, I’ll be using sendinblue for this tutorial.

The steps here could vary because each provider has their own signup process.

I assume it will be intuitive enough that my guidance will not be required.

Step #4: Locate API or SMTP details

Dedicated email sending providers can integrate with your site in two ways (sometimes both!): API key or SMTP credentials.

Sendinblue happens to offer both an API key…

Sendinblue API key

…and SMTP!

Sendinblue SMTP credentials (server, port, email, password)

See how I totally censored my API key and SMTP credentials? You should keep yours a secret too!

If you publish such sensitive information, and randos happen up it, you’re giving those randos the ability to send spam email from your account.

And this would likely lead to your swift banishment from the email sending platform. Like a password to your bank account or your email (receiving) account, you’d best keep this info secure.

Step #5: Set up the WordPress integration

We’ll be using WP Mail SMTP which has a Sendinblue API integration.

After activating, you’ll be greeted with an onboarding screen.

WP Mail SMTP onboarding.

Basically, just follow the directions, send a test email at the end of the process.

If the test email sends through your new email provider without being gobbled up and shredded by your ISP’s spam filter, then you’re in pretty good shape.

Step #5.1: API key vs. SMTP credentials

I know what you’re thinking. Out of API keys or SMTP credentials, which one is “better”?

It doesn’t matter much. If the integration you’re using offers an API key, use that. If not, use SMTP credentials.

Either way it’s sensitive information that needs to be kept secure.

I will say that if an evil spammer happened to come across SMTP credentials, perhaps they’d be more likely to figure out that they could use those to spam, than if they happened to come across a context-free API key.