(Issue) Emails Not Being Sent / Not Receiving Email Notifications

If you're experiencing an issue where B2BKing emails (such as account approval notifications, new registration alerts, or other plugin emails) are not being sent or received, follow the steps below to diagnose and resolve the problem.

Step 1: Verify That the Email Is Enabled #

Before anything else, make sure the relevant email notification is actually turned on.

Go to WooCommerce → Settings → Emails and check that the appropriate email is enabled. For example:

  • "Account Approved" – sent when you approve a new B2B customer.
  • "New Account" – sent when a new user registers on your site.

If the email you expect to receive or send is disabled, simply enable it and save your settings.

Step 2: Check Whether Emails Are Being Sent but Not Delivered #

A very common scenario is that emails are technically being sent by your site, but they never reach the recipient's inbox. This typically happens because the emails are being caught by spam filters or rejected by mail servers, since default WordPress emails are sent via PHP's mail() function, which often lacks proper authentication.

How to Confirm This Is the Issue #

Install the free WP Mail Logging plugin. This plugin keeps a log of every email your site attempts to send.

  • If the email appears in the log but is not arriving in the inbox → this is a deliverability issue, and the solution is to set up an SMTP plugin (see below).
  • If the email does not appear in the log at all → the email is not being triggered in the first place. Skip to Step 3.

The Fix: Set Up an SMTP Plugin #

We recommend using WP Mail SMTP (free) together with Brevo (formerly Sendinblue) as your email sending service. Brevo offers a generous free plan that allows up to 300 emails per day.

To set this up:

  1. Create a free account on Brevo.
  2. Connect Brevo to your domain by adding the required DNS records (typically SPF, DKIM, and DMARC). These records verify that you own the domain and authorize Brevo to send emails on its behalf.
  3. In WP Mail SMTP, configure the mailer to use Brevo and enter your API key.
  4. Send a test email from WP Mail SMTP to confirm everything is working.

Once configured, your emails will be sent through Brevo's authenticated servers, which greatly improves deliverability and ensures they no longer end up in spam.

Step 3: Emails Are Not Being Triggered at All #

If the email is enabled in WooCommerce (Step 1) but does not appear in the WP Mail Logging plugin's log, then the email is failing to send at a deeper level. This usually points to a server-side issue or a plugin conflict.

Common causes include:

  • PHP's mail() function is disabled on your hosting environment. Some hosts disable it for security reasons.
  • A missing or misconfigured PHPMailer library, which WordPress relies on to send emails.
  • A plugin or theme conflict that is interfering with WooCommerce's email hooks.

To investigate further, we recommend using a debug log plugin and reproducing the action that should trigger the email (e.g., approve an account). Then check the debug log for any related error messages.

The log will often reveal the exact cause, whether it's a missing PHP extension, a fatal error in a conflicting plugin, or another issue.

Need Help? #

We are always happy to help and troubleshoot issues directly - feel free to reach out to our support team!

To help us troubleshoot as efficiently as possible, it's ideal if you can share backend (wp-admin) access to your site or a staging clone site, so we can investigate directly.

Powered by BetterDocs