Title: Duplicate email issue
Last modified: May 27, 2026

---

# Duplicate email issue

 *  [mpweblab](https://wordpress.org/support/users/mpweblab/)
 * (@mpweblab)
 * [2 weeks, 1 day ago](https://wordpress.org/support/topic/duplicate-email-issue-2/)
 * Hello,
 * I identified a duplicate email issue related to the plugin when editing an order
   or changing its status to “completed” from the WooCommerce admin.
 * Environment:
    - Latest version of WooCommerce
    - Latest version of WooCommerce PDF Invoices & Packing Slips
    - WP Mail SMTP enabled
    - Issue reproduced both locally (MailHog) and in production (Brevo SMTP)
 * To diagnose the issue accurately, I developed a custom WordPress email debugging
   plugin that traces wp_mail() calls with full stack traces, hooks, and plugin 
   origin detection.
 * Issue:
   When the order status changes to “completed”, WooCommerce correctly sends
   the “completed order” email once.
 * Then, the plugin triggers a second identical email.
 * The second send appears to originate from:
 * File:
   wp-content/plugins/woocommerce-pdf-invoices-packing-slips/includes/Admin.
   php
 * Line:
   1563
 * Method:
   send_emails()
 * Detected trace: 4
 * wp_mail
   woocommerce/includes/emails/class-wc-email.php : 1136 5
 * send
   woocommerce/includes/emails/class-wc-email-customer-completed-order.php :
   79 6
 * trigger
   WC_Email_Customer_Completed_Order 7
 * send_emails
   woocommerce-pdf-invoices-packing-slips/includes/Admin.php : 1563
 * The plugin appears to call:
   WC_Email_Customer_Completed_Order->trigger()
 * even though WooCommerce has already sent this email earlier in the same request.
 * Result:
   Customers receive the same “completed order” email twice.
 * The issue is consistently reproducible when:
    - editing an order from wp-admin
    - changing the order status to “completed”
 * Additional information:
    - disabling the plugin immediately removes the duplicate email issue
    - the problem occurs even without Brevo (reproduced locally with MailHog)
    - WP Mail SMTP is probably not responsible, as it only handles email transport
 * You may want to check whether send_emails() should ignore WooCommerce transactional
   emails that were already sent during the same workflow, or prevent a second trigger
   of WC_Email_Customer_Completed_Order.
 * Thanks.
   mp-weblab

You must be [logged in](https://login.wordpress.org/?redirect_to=https%3A%2F%2Fwordpress.org%2Fsupport%2Ftopic%2Fduplicate-email-issue-2%2F%3Foutput_format%3Dmd&locale=en_US)
to reply to this review.

 * ![](https://ps.w.org/woocommerce-pdf-invoices-packing-slips/assets/icon-256x256.
   png?rev=2189942)
 * [PDF Invoices & Packing Slips for WooCommerce](https://wordpress.org/plugins/woocommerce-pdf-invoices-packing-slips/)
 * [Frequently Asked Questions](https://wordpress.org/plugins/woocommerce-pdf-invoices-packing-slips/#faq)
 * [Support Threads](https://wordpress.org/support/plugin/woocommerce-pdf-invoices-packing-slips/)
 * [Active Topics](https://wordpress.org/support/plugin/woocommerce-pdf-invoices-packing-slips/active/)
 * [Unresolved Topics](https://wordpress.org/support/plugin/woocommerce-pdf-invoices-packing-slips/unresolved/)
 * [Reviews](https://wordpress.org/support/plugin/woocommerce-pdf-invoices-packing-slips/reviews/)

 * 0 replies
 * 1 participant
 * Last reply from: [mpweblab](https://wordpress.org/support/users/mpweblab/)
 * Last activity: [2 weeks, 1 day ago](https://wordpress.org/support/topic/duplicate-email-issue-2/)