Matching-mode user_register suppression also blocks the new user's own set-password email #8

Closed
opened 2026-10-16 21:07:23 -07:00 by eric · 0 comments
Owner

Found during security audit run 3 (2026-10-16). This is a functional bug, not a security issue.

Problem

In matching email-suppression mode, when user_register is enabled, suppress_matching_events() suppresses both new-user emails (includes/class-apprise-email-suppressor.php:92-95):

add_filter( 'wp_send_new_user_notification_to_admin', '__return_false' );
add_filter( 'wp_send_new_user_notification_to_user', '__return_false' );

The Apprise user_register notification goes only to the site operator. Suppressing _to_user also blocks the new user's own welcome / set-password email, so a newly registered user never gets their login link. They have to find the lost-password flow on their own.

Fix

  • Suppress only wp_send_new_user_notification_to_admin. That is the email the Apprise notification replaces.
  • Update the setting's help text and readme if they describe this behaviour.
  • Test: in matching mode with user_register on, the _to_admin filter returns false and the _to_user filter is not registered.
Found during security audit run 3 (2026-10-16). This is a functional bug, not a security issue. ## Problem In `matching` email-suppression mode, when `user_register` is enabled, `suppress_matching_events()` suppresses both new-user emails (`includes/class-apprise-email-suppressor.php:92-95`): ```php add_filter( 'wp_send_new_user_notification_to_admin', '__return_false' ); add_filter( 'wp_send_new_user_notification_to_user', '__return_false' ); ``` The Apprise `user_register` notification goes only to the site operator. Suppressing `_to_user` also blocks the **new user's own** welcome / set-password email, so a newly registered user never gets their login link. They have to find the lost-password flow on their own. ## Fix - Suppress only `wp_send_new_user_notification_to_admin`. That is the email the Apprise notification replaces. - Update the setting's help text and readme if they describe this behaviour. - Test: in matching mode with `user_register` on, the `_to_admin` filter returns false and the `_to_user` filter is not registered.
eric closed this issue 2026-10-16 22:00:52 -07:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
eric/apprise-wordpress-notifications#8
No description provided.