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 identify 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 does 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:
- Your email action triggers on form submission.
- The plugin passes the email action data to WordPress.
- WordPress relays the email action data to your web host.
- 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 cause 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
SMTP Plugins for WordPress
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.
My email renewals are not sending
While most of the steps provided above should help you, there are a few specific steps to take for renewal emails. Please take the following steps to troubleshoot this issue:
- Verify that the Turn on listing renewal option? setting is turned on. If yes, go to the next step.
- Go to the Directory → Settings → Emails → Templates page. Are there any emails set to send for renewal reminders? If yes, go to the next step.
- Install an email logging plugin like WP Mail SMTP to see if the emails are being triggered. If yes, try using MailGun or SendGrid. If no, go to the next step.
- If they are not being triggered, install WP Crontrol to see if crons are running on the site. If yes, go to the next step.
- If crons are running, check for the specific cron. ‘wpbdp_hourly_events' triggers abandonment emails, ‘wpbdp_daily_events' triggers renewal emails.