Understanding and fixing email problems

Email related issues are among the most common problems reported to our support team. If you’re having problems receiving emails from Business Directory Plugin, this post is for you. The instructions below will help you idenitfiy the source of the problem and understand how to fix it.

Many email problems are really a problem with your web host

We need to start by saying that Business Directory Plugin do not send email. Neither does WordPress. Both the plugin and WordPress are involved, but neither of them send email. The actual sending of email is handled by your web host. The process looks like this:

  1. Your email action triggers on form submission.
  2. The plugin passes the email action data to WordPress.
  3. WordPress relays the email action data to your web host.
  4. Your web host takes the email action data, processes it, and sends it as an email.

90%+ of problems stem from #4: the web host actually sending the email. There are a variety of reasons this is the case, and it’s not necessarily your web host failing you. In a world where spam email is an ever present daily problem, some of the actions taken by web hosts to fight spam causes unintentional collateral damage.

One simple way to avoid problems with the web host sending email is to cut the web host out the loop. You can do that quickly and easily by installing an SMTP plugin or by using a transactional email service. Either option will replace the web host in step 4, sending your email action data for you.

Transactional Email Services

  1. Mailgun
  2. SendGrid

SMTP Plugins for WordPress

  1. WP Mail SMTP
  2. Easy WP SMTP
  3. Postman SMTP Mailer/Email Log
  4. WP SMTP
  5. WP Mail Bank

I can’t use transactional email services or SMTP plugins

If you don’t want to use a transactional email service or can’t use an SMTP plugin, and you are still having troubles sending and receiving emails, try the following strategies to debug the problem:

Try an Email Logging Plugin

The first step to debug email issues is to confirm that the plugins are triggering the email actions. WP Mail Logging plugin allows you to trace all emails sent through your WordPress site, including those sent by Business Directory.

If the logging plugin shows that emails are being sent, but none of them are reaching their destination, then your domain may be blacklisted or not properly configured to be used for email exchange. Read the next section.

Check if your server is blacklisted

An excellent tool for debugging blacklist issues is MXToolbox. Check if your server is on any blacklists here: http://www.mxtoolbox.com/blacklists.aspx.

If your domain is on a blacklist, email providers will refuse to receive your messages and there is nothing the plugins or WordPress can do to improve that situation. You have to either get your domain out of the blacklist or start sending messages from a different domain.

Verify MX and SPF records

MX records

Go to https://mxtoolbox.com/ and enter the domain you’re using in the FROM header of your messages. Make sure the values shown are the ones recommended by your email provider (usually your hosting provider or domain registrar.

SPF records

Now, enter spf: followed by the domain (spf:example.org) in the textfield at https://mxtoolbox.com/ to check the SPF records for your domain. Again, make sure you have one of those records. Verify with your email provider to know what is the proper value in your case.

The SPF (sender policy framework) record for your domain may need to be modified to allow your local server to send email on behalf of your domain, if they are not the same machine. This is common when you use Google as your email provider and a web host company as your server host. SPF records that are missing will often prevent mail delivery.

Learn more about SPF records here: http://www.openspf.org/Tools.