How to troubleshoot missing WooCommerce order emails with Mailgun

Missing WooCommerce order emails can look like an ecommerce failure even when orders are still being created normally. In one support case, a group of order notifications stopped arriving for both customers and internal staff during a limited time window, while later orders resumed sending without any changes to WooCommerce itself.

The investigation traced the outage to a Mailgun API key that had been disabled. Once the key was rotated, email delivery resumed. The team then tested the Mailgun integration across the related WordPress sites and adjusted internal alerting so a similar shared-mailer failure could be detected and addressed more quickly. A dedicated Mailgun sending domain was also discussed, but the developer clarified that it would isolate the site from the shared API key rather than inherently improving general delivery reliability.

Issue background

A WooCommerce-powered order portal stopped sending a consecutive group of order emails during a short period spanning late one day into the following morning.

Neither customers nor the internal customer-service team received the expected notifications for the affected orders. Later orders were arriving normally again, which suggested that the failure was temporary rather than an ongoing WooCommerce configuration problem.

The team also reviewed a second related WooCommerce site and found that it had missed order notifications during the same time window.

Diagnosis

The developer compared the affected time window with the site’s email-delivery configuration and confirmed that the issue was Mailgun-related.

For a period of time, the Mailgun API key used by the sites had been disabled. Any WordPress emails routed through that integration during the outage window could therefore fail to send.

The key had already been rotated by the time the support investigation took place. That explained why subsequent order notifications were arriving normally again.

The developer then tested the Mailgun integration across all three related WordPress sites and confirmed that the current connections were successful.

This distinction was important: WooCommerce was still recording the orders. The failure was in the outbound email layer, not in order creation itself.

Resolution steps

The documented response was:

  1. Confirm whether later order emails were arriving. The client verified that notifications after the affected range were reaching the inbox normally.
  2. Compare the outage window with Mailgun status. The developer confirmed that the Mailgun API key had been disabled during the same period when notifications were missing.
  3. Verify that the API key had been rotated. A new working key had already restored email delivery by the time the issue was investigated.
  4. Test the Mailgun integration across all related sites. The developer ran checks on the three WordPress sites using the same mail infrastructure and confirmed successful connections.
  5. Identify other affected order systems. A second WooCommerce site had also missed notifications during the same Mailgun outage window, confirming that the issue was shared-mailer related rather than isolated to one portal.
  6. Offer to resend missing WooCommerce notifications. WordPress could resend the affected order emails from the dashboard if needed.
  7. Respect the operational decision not to resend them. The client had already compiled the affected order information and sent it to customer service, so they declined resending the missed notifications.
  8. Improve internal alerting. Freshy adjusted its monitoring and alerting process so a similar Mailgun key problem could be identified and responded to more quickly.
  9. Evaluate a dedicated Mailgun sending domain. The team discussed moving the organization to its own Mailgun account and sending domain, which would use its own API key instead of the shared mailer.
  10. Clarify what a dedicated account would and would not solve. The developer explained that a separate Mailgun account would isolate the organization from failures involving the shared API key. It would not, by itself, make general email delivery more reliable.
  11. Keep the existing Mailgun setup. Because the dedicated-account option did not offer a general reliability improvement, the client chose to retain the existing configuration and rely on the improved alerting process.

The original task included site-specific order numbers, domains, and mailer details. Those identifiers have been generalized here because they are not necessary to reproduce the troubleshooting process.

Final outcome

The missing WooCommerce notifications were traced to a disabled Mailgun API key during a specific outage window.

Email delivery had already resumed after the key was rotated, and the developer verified the Mailgun connection across all related WordPress sites.

The team also identified the other WooCommerce system affected by the same outage and improved internal alerting so a similar shared-mailer problem could be detected sooner.

No order-notification resend was performed because the client had already handled the affected orders manually. The existing shared Mailgun setup was also retained after confirming that a dedicated sending domain would provide account isolation, but not a general improvement in mail-delivery reliability.

The broader lesson is to separate WooCommerce order creation from email delivery when investigating missing notifications. If orders are present in WordPress but emails disappear only during a defined time window, inspect the transactional mail provider, API credentials, and shared sending infrastructure before changing WooCommerce itself.

If WooCommerce orders are being created but customer or staff notifications are missing, contact Freshy. Our WordPress team can trace the order flow, transactional email provider, and delivery logs to identify where notifications are failing.