Why aren’t emails being delivered, and what can I do to fix it?

If you have a website, chances are you rely upon it to send important email.

Whether a lead fills out your contact form or a customer expects a receipt confirming a purchase, it’s crucial that these emails reach their intended recipient.

How Spam is Made

(The email, not the “meat”.)

Recent estimates suggest that spam tallies to a net, worldwide cost exceeding hundreds of billions of dollars a year. Thus, it’s no surprise that email service providers are heavily incentivized to keep unsolicited email out of their customers’ inboxes.

The rub, of course, is determining exactly what is genuinely unsolicited. Providers try to stay one step ahead of the game and often, they do a remarkable job. However, there are always innocent emails caught in the crossfire.

Host recipients calculate spam scores on a probability scale based on a variety of criteria. What’s more, these algorithms undergo continuous adjustments; even if you aren’t currently experiencing any issues, it’s worth taking a moment to review your settings as outlined below. It’s entirely possible that your emails make it through today but will be silently disqualified tomorrow.

For purposes of our discussion, deliverability is a term used to describe the percentage of your emails which successfully reach their intended recipient. Unfortunately, it’s impossible to guarantee 100% deliverability of each and every email you send, but most instances of “missing email” actually have one or more clearly defined and easily correctable causes.

Transactional vs Marketing Email

Transactional email is, well, transactional in nature. It’s an email which is sent to you when a lead fills out your contact form or to your customer when he or she completes a checkout. In other words, it corresponds to a specific action which a customer has taken on your website.

In contrast, marketing or “commercial” email take the form of blasts sent to your entire mailing list or automated drip campaigns sent to a specific portion of it. They’re often sent in bulk, but their defining trait is that their purpose is purely promotional.

In general, marketing email is subject to CAN-SPAM regulation while transactional email is not.

You should never send marketing email with your host server or your mail client; doing so dramatically increases your chances of being blacklisted as a spammer.

Instead, use a dedicated email marketing provider like Drip, MailChimp or Ontraport; these services specialize in maximizing deliverability (their entire business depends on it) and they’ve invested millions of dollars in developing the necessary, supporting architecture.

With this understanding in hand, we’ll now tackle the process of troubleshooting email deliverability.

Of course, we’re more than happy to lend a hand to our clients.

1. Check your plugin(s)

Within the WordPress ecosystem, there are dozens of contact forms and e-commerce plugins to choose from; unfortunately, the vast majority of WordPress themes and plugins on the market today are junk.

While there are a handful of free plugins we use and recommend, in general, you get what you pay for. For contact forms, we swear by Gravity Forms; for e-commerce, we prefer WooCommerce.

These two plugins are battle-tested and true; they offer outstanding, best-in-class feature sets, a wealth of documentation and mature, extensible ecosystems.

If you or your customers aren’t receiving email, start with taking a look at your plugin(s) to ensure that there isn’t some sort of a conflict which is preventing email from being sent.

2A. Whom is your website sending email as?

In general, if you’re attempting to send email from mydomain.com, then your email message must send as an address ending in @mydomain.com.

In other words, you can’t send email from mydomain.com with mydomain@gmail.com for an email address. The recipient’s email server will [rightly] determine that your message marked From: mydomain@gmail.com isn’t originating from an authorized GMail server, and will promptly flag it as spam.

What’s more, an email address ending in @mydomain.com is a small mark of professionalism to your customers and we recommend investing in it.

Once you’ve obtained a matching email address, be sure you update WordPress to send email as that user; look first under Settings > General. Next, revisit your other plugins’ settings menus to ensure they’re not sending email as something different.

2B. Or, use an SMTP plugin

An SMTP plugin offers a best-of-both-worlds compromise in that it allows you to both (a) send email from the email address of your choice, and (b) bypasses your host server to do so.

3. Review your SPF record

SPF is Sender Policy Framework; essentially, a DNS entry which tells the internet “these are the servers I’ve authorized to send email on my behalf”.

It will look something like this, although the details will vary depending on your own host configuration:

"v=spf1 +a +mx include:_spf.google.com include:helpscoutemail.com ~all"

(If you’re comfortably in tune with your inner #nerd, a full description of its syntax can be found here.)

Unfortunately, as important as SPF is, surprisingly it is usually not configured by a majority of hosts. (Here at Webster Park, we set it up for all of our hosting clients, by default.)

It’s also really brittle; a single, misplaced character can break everything. For this reason, please don’t hesitate to reach out if we can lend a hand in adjusting your SPF record.

4. Use a dedicated, transactional email service

Dedicated, transactional email services like Mandrill, Mailgun or Amazon SES offer several import advantages that justify their monthly fee. Namely:

  • Dedicated services are optimized for one purpose; to send email. In contrast, host web servers are optimized to serve websites.
  • Dedicated services readily scale to millions of emails per month. Due to the prevalence of malware, many hosts will throttle or even prohibit outbound email.
  • Dedicated services monitor outbound email traffic and their sending reputations very carefully. Again, due to the prevalence of malware, many host IPs have been flagged for past spamming activity; even if it didn’t originate from your account.

5. Check your email client

Finally, each individual email client (e.g. Mac Mail, Microsoft Outlook, etc.) often apply their own layer of spam filtering; sometimes, aggressively. Fortunately, these settings are usually easy to customize; be sure to check your individual email client’s documentation.


  • Ensure that there are no errors with your WordPress plugin(s) which actually send the email.
  • Ensure that your website (e.g. mydomain.com) is sending email from an address ending in @mydomain.com, or use an SMTP plugin.
  • Consider routing your outbound email through a dedicated transactional email service.
  • Ensure that your DNS contains a valid SPF record.
  • Ensure that your e-mail client (e.g. Mac Mail, Outlook) isn’t flagging the email as spam.

Leave a Comment