=== bbPress Notify (No-Spam) ===
Contributors: useStrict
Donate link: https://www.paypal.me/usestrict
Author URI: https://www.usestrict.net/
Plugin URI: https://usestrict.net/bbpress-notify-premium/
Tags: bbpress, buddyboss, email notification, forum notifications, no spam
Requires at least: 3.1
Tested up to: 6.9.4
Text Domain: bbpress-notify-nospam
License: GPLv2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Stable Tag: 3.0.3
Requires PHP: 7.4
Powerful, customizable email notifications for bbPress and BuddyBoss forums โ without the spam.
== Description ==
**bbPress Notify (No-Spam)** is the ultimate notification plugin for **bbPress** and **BuddyBoss** forums.
It replaces the limited default subscription system with a flexible, no-spam solution that gives your users **personalized, reliable email updates** about new topics and replies.
Stop flooding inboxes. With bbpnns you control exactly who gets notified, when, and how. Perfect for community managers, membership sites, and anyone who wants professional-grade forum notifications.
= Key Features =
- ๐ง **Send professional emails** โ Choose HTML, plain text, or multipart with image support.
- ๐ฏ **Target the right audience** โ Notify by user roles (admins, moderators, members, etc.).
- ๐ **Faster performance** โ Background notifications prevent post-submission timeouts.
- ๐งช **Preview before sending** โ Dry-run mode shows exactly who will receive notifications.
- ๐ **Developer-friendly** โ Dozens of filters and actions for easy customization.
- โ
**BuddyBoss compatible** โ Works out of the box with BuddyBoss forums.
๐ View the full documentation
๐ก Looking for advanced features like digests, reply-by-email, and membership integrations? See bbPress Notify Premium
== Premium Add-Ons ==
Take bbpnns to the next level with powerful extensions:
- **Reply by Email** โ Post new topics or replies directly from your inbox.
- **Bulk Mailer** โ Send notifications to thousands of users reliably โ no timeouts, no dropped emails.
- **Digests** โ Give users daily, weekly, or monthly summaries to reduce inbox noise.
- **Opt-Out** โ One-click unsubscribe options for CAN-SPAM and CASL compliance.
- **Membership & LMS Bridges** โ Running a membership or LMS site? Keep notifications in sync with your access control layer. Supports BuddyPress, MemberPress, LearnDash, AccessAlly, Private Groups, and more.
๐ Browse all premium add-ons here: bbPress Notify Premium
== Installation ==
1. Upload the entire plugin folder to `/wp-content/plugins/`.
2. Activate the plugin through the "Plugins" menu in WordPress.
3. Go to **bbPress Notify (No-Spam) > Settings** in the main admin menu to configure.
== Frequently Asked Questions ==
= Does it work with BuddyBoss? =
Yes! BuddyBoss forked bbPress and kept all the inner workings. Anything that works with bbPress works with BuddyBoss.
= Why am I not receiving notifications of my own topics/replies? =
Check the setting "Notify authors of their own posts" under both Topics and Replies.
= Where are the settings located? =
As of version 2.0, settings are in their own **bbPress Notify (No-Spam)** menu item in the Admin dashboard.
= People are getting timeouts when posting. Why? =
If many users are notified at once, the server may time out. Enable **Background Notifications** to offload the sending to wp-cron. For very large communities, consider the [Bulk Mailer add-on](https://usestrict.net/bbpress-notify-premium/?utm_source=wporg-readme&utm_medium=plugin&utm_campaign=bulkmailer).
= Can users opt out of notifications? =
Yes โ with the [Opt-Out add-on](https://usestrict.net/bbpress-notify-premium/?utm_source=wporg-readme&utm_medium=plugin&utm_campaign=optout), users can unsubscribe with one click.
= Does it integrate with membership or LMS plugins? =
Yes โ we support popular tools like BuddyPress, BuddyBoss, MemberPress, LearnDash, AccessAlly, Ultimate Member, and Private Groups. See the Premium Add-Ons section for details.
= Can I customize the notifications? =
Absolutely. Developers have access to dozens of filters and actions. Non-coders can use settings screens to adjust templates and recipients.
---
== Screenshots ==
1. General settings tab
2. Topics settings tab
3. Replies settings tab
4. Support tab
== Changelog ==
= 3.0.3 =
* Fix escaped html in bbpnns addons screen.
* Update tested up to.
= 3.0.2 =
* Remove filter_recepient functions that were no longer needed, but still got run and adversely impacted sites with many recipients.
= 3.0.1 =
* Make magic properties work with isset() and other functions.
= 3.0.0 =
* Refactor: Move main class into `includes/controller/` and add lightweight loader.
* Tests: Add modern PHPUnit tests and robust test bootstrap.
* Style: Run PHPCS autofix and apply plugin-focused style fixes.
= 2.20.1 =
* Fix notices for malformed user stdClass.
= 2.20 =
* Fix vulnerabilities.
* Fix _load_textdomain_just_in_time warnings.
= 2.19.5=
* Fix wrong textdomain.
* Update tested up to.
= 2.19.4 =
* Fix deprecation notice.
= 2.19.3 =
* Fixed forum-url tag only working for replies, not topics.
= 2.19.2 =
* Add support for forum-url tags.
= 2.19.1 =
* Fix dynamic property creation deprecation messages.
= 2.19 =
* Add Action Scheduler support.
= 2.18.5 =
* Fix load_plugin_textdomain to work with 6.7.1.
= 2.18.4 =
* Address vulnerable code.
* Updated tested up to.
= 2.18.3 =
* Safely handle users with missing roles.
* Update tested up to.
= 2.18.2 =
* Fix missing fields required by add-ons.
* Update tested up to.
= 2.18.1 =
* Fix missing user fields from tag replacements.
= 2.18 =
* Streamline amount of user data loaded to reduce memory footprint.
* Fix deprecated notices under PHP8.
= 2.17.10 =
* Also remove BuddyBoss notifications when inside ajax requests.
= 2.17.9 =
* Remove notifications action set by BuddyBoss.
= 2.17.8 =
* Allow adjusting dry-run post status via filter.
= 2.17.7 =
* Fix notices on add-ons page.
= 2.17.6 =
* Make sure we get an actual user from the database in user_ok_role. Return false otherwise.
= 2.17.5 =
* Return false in user_ok_role if user not logged in.
= 2.17.4 =
* Change approach to checking for user role as it was sometimes failing.
= 2.17.3 =
* Fix missing bridge warnings when using WPFusion or BP Moderation Tools.
= 2.17.2 =
* Make sure blocked users do not get notifications.
= 2.17.1 =
* Made a couple of tweaks to support PHP 8. See https://wordpress.org/support/topic/php-8-compatibility-changes/
= 2.17 =
* Added support for author details tags: author-first_name, author-last_name, author-display_name, author-user_nicename.
= 2.16.1 =
* Added more bridge warnings in the settings.
= 2.16 =
* Adjusted translation text-domain.
* Adjusted support instructions and tested-up-to version.
= 2.15.3 =
* Disabling autoembed for buddyboss during mailout as it makes images lazy-load.
= 2.15.2 =
* Fix possible memory leak if admin creates a topic in the back end and forgets to assign a forum.
= 2.15.1 =
* Fixed bug loading users by roles when no role was selected.
= 2.15 =
* Added From Name and From Email fields to Support > General
* Added filter 'bbpnns_from_name' to filter From Name
* Added Filter 'bbpnns_from_email_address' to filter From Email
* Improved performance loading users by role.
= 2.14 =
* Elegant fix for UTF-8 subject line issues.
= 2.13.3 =
* Added filters for topic/reply subject and body to help with translation, etc.
* bbpnns_raw_{$type}_subject - $type is either topic or reply
* bbpnns_raw_{$type}_body - $type is either topic or reply
= 2.13.2 =
* Force replace long dash entity with regular dash before sending out the message.
= 2.13.1 =
* Fix catcheable error in get_topmost_forum_link method.
= 2.13 =
* Introducing topmost-forum tag.
* Fixed call to get WP error message on edge case.
= 2.12.1 =
* Check that subscribed users really do exist before adding them to the recipient list.
= 2.12 =
* Prefer mb_encode_mimeheader() over iconv_mime_encode() for UTF-8 subject lines, if available.
* Added extra debugging information to Support tab.
= 2.11.1 =
* Attempt to fix UTF-8 subject line encoding for some email clients.
= 2.11 =
* Removing autoembed for topics and replies as they get filtered out of the final notification email.
= 2.10 =
* Added context to tag methods so we can support different tags for email subject line and body.
= 2.9.5.1 =
* Fixed typo in previous commit.
= 2.9.5 =
* Also stop core bbPress Notifications if roles or author-notifications are in effect.
= 2.9.4 =
* Better control/stopping of core bbPress Notifications.
= 2.9.3 =
* Add X-Auto-Response-Suppress: All header to the mailout.
= 2.9.2 =
* Introduced bbpnns() function as wrapper to get global $bbPress_Notify_noSpam object.
* Making $bbPress_Notify_noSpam->load_lib() public for ease of use.
* Changed priorities for bbp_new_topic/bbp_new_reply so they can be overridden in time.
= 2.9.1 =
* Fixed bad private forum redirect for sites that don't use pretty permalinks.
= 2.9 =
* Added option to automatically subcribe new users to all forums.
= 2.8.3.1 =
* Fixed pesky wpautop adding extra br tags.
= 2.8.3 =
* Add $user_info parameter to bbpnns_skip_notification notification to reduce DB lookups.
= 2.8.2 =
* Added filter bbpnns_redirect_url to allow adjusting the redirect URL for non-public forums.
= 2.8.1 =
* Enhancement - better user control when running in the background.
= 2.8 =
* Added new feature - Auto subscribe forum users to newly created topic so they also get replies notifications. See bbPress Notify (No-Spam) > Settings > Topics tab > bbPress Forums Subscriptions Override section.
* Added i18n files.
= 2.7 =
* Work around membership plugins blocking content during mailouts.
= 2.6.1 =
* Added support for bbpress 2.6 moderation functionality.
= 2.6 =
* Changed behaviour of notify_authors checkbox: Originally it would only remove authors if they were already in the recipient list. Now it will also add authors if they're not in recipients and the setting is checked.
= 2.5.7 =
* Call bbp_new_topic and bbp_new_reply in Dry Run with full param list to avoid breaking third-party plugins.
= 2.5.6 =
* Fix login controller's maybe_add_redirect() to use given URL instead of pulling the permalink from the DB.
= 2.5.5 =
* Fix dry-run sending messages when run with background notifications enabled.
= 2.5.4 =
* Pass reply-url through login query string logic.
= 2.5.3 =
* Add safeguards to dry-run to keep bbpress from sending notifications.
= 2.5.2 =
* Fix nonce handling in old 1.x to 2.x db conversion.
= 2.5.1 -
* Better encoding of href variables in convert_images_and_links().
= 2.5 =
* Added ability to include forum subscribers in a reply notification.
* Improved trace messages.
= 2.4 =
* Added feature: Dry run tests to help identify which settings are adding/dropping which users from the recipient list.
= 2.3.1 =
* Encode href variable in convert_images_and_links() if necessary.
= 2.3 =
* Added action bbpnns_doing_notify_on_save.
= 2.2.1=
* Fix: Lines ending in
were being wrapped in
mb_internal_encoding() with iconv_get_encoding() as at least one host didn't have mb_string enabled.
* Add: Admin option to enable or disable Subject line encoding. Admin -> Settings -> Forums -> E-mail Notifications -> Encode Topic and Reply Subject line.
* Add: uninstaller.
= 1.9.2 =
* Fix filters bbpnns_filter_email_subject_in_build and bbpnns_filter_email_body_in_build to pass $type and $post_id
= 1.9.1 =
* New action: bbpnns_email_failed_single_user, allows for better handling of failed emails. Params: $user_info, $filtered_subject, $filtered_body, $recipient_headers
* New action: bbpnns_before_wp_mail, executed immediately before wp_mail() call. Params: $user_info, $filtered_subject, $filtered_body, $recipient_headers
* New action: bbpnns_after_wp_mail, executed immediately after wp_mail() call. Params: $user_info, $filtered_subject, $filtered_body, $recipient_headers
= 1.9 =
* New Filter: bbpnns_skip_notification
* New Filter: bbpnns_available_tags
* New Action: bbpnns_after_email_sent_single_user
* New Action: bbpnns_after_email_sent_all_users
* Change: Only filter subject and body if user is OK to receive message
* Change: Reduce DB calls by one per user
* Change: stop using PHP4-style pass-by-reference. PHP5 always passes by reference now.
* Change: Improve Encoding of subject line
= 1.8.2.1 =
* Fix: added a workaround for emails with UTF-8 Characters in the subject line that weren't being sent.
= 1.8.2 =
* Added: support for people using wpMandrill and getting emails without newlines. We turn on nl2br momentarily while sending out our emails.
This option can be overridden by using the filter 'bbpnns_handle_mandrill_nl2br'.
= 1.8.1 =
* Fix: no longer return if wp_mail fails for a given email address. This was an issue for people using wpMandrill with an address in the blacklist.
= 1.8 =
* New Filter: bbpnns_post_status_blacklist
* New Filter: bbpnns_post_status_whitelist
* New Action: bbpnns_before_topic_settings
* New Action: bbpnns_after_topic_settings
* New Action: bbpnns_after_reply_settings
* New Action: bbpnns_register_settings
= 1.7.3 =
* Remove admin message as it's not getting dismissed properly.
* Update tested up to.
= 1.7.2 =
* Fix parameters for 'bbp_new_reply' filter
* Added call to 'bbp_get_reply_forum_id()' in case the forum_id was blank (should no longer happen with 'bbp_new_reply' filter fix)
= 1.7.1 =
* Notify about existence of Opt-Out add-on
= 1.7 =
* Added support for Opt-Out add-on
* Added labels to all input fields
= 1.6.7 =
* Added support for tags [topic-forum], and [reply-forum]. ([Towfiq I.](https://wordpress.org/support/topic/feature-forum-name-in-email))
= 1.6.6.1 =
* Removed Pro message.
= 1.6.6 =
* Added subject filter in _build_email: bbpnns_filter_email_subject_in_build
* Added body filter in _build_email: bbpnns_filter_email_body_in_build
* Renamed filter: bbpnns-filter-recipients => bbpnns_filter_recipients_before_send
* Renamed filter: bbpnns-filter-email-subject => bbpnns_filter_email_subject_for_user
* Renamed filter: bbpnns-filter-email-body => bbpnns_filter_email_body_for_user
= 1.6.5 =
* Added user-contributed filters: bbpress_reply_notify_recipients, and bbpress_topic_notify_recipients
= 1.6.4 =
* Added filters: bbpnns-filter-recipients, bbpnns-filter-email-subject, and bbpnns-filter-email-body
= 1.6.3.1 =
* Fixed: buggy dismiss link in previous commit.
= 1.6.3 =
* Added notice about bbPress Notify Pro project at Kickstarter.
= 1.6.2 =
* Fix bug where topic and reply post_types were not set in time to send post.
* Only send notification if post_status is publish, besides not being spam.
* Adjustments to notify_on_save
* Added tests for notify_on_save
= 1.6.1 =
* Passing $post_id and $title variables to filters added in 1.6.
= 1.6 =
* Added support for filters 'bbpnns_topic_url', 'bbpnns_reply_url', and 'bbpnns_topic_reply'
= 1.5.5 =
* Improved Tests
* Renamed some variables.
= 1.5.4 =
* Fix: Make sure bbPress is installed and avoid race conditions when loading.
= 1.5.3 =
* Fix: corrected missing newlines in topic/reply content email.
= 1.5.2 =
* Fix: admin-only emails not working due to missed boolean casting.
= 1.5.1 =
* Fixed bug, 'hidden forum override reply' setting not registered
* Added filters: bbpnns_skip_topic_notification, bbpnns_skip_reply_notification, bpnns_excerpt_size, bbpnns_extra_headers
= 1.5 =
* Added override option to only send emails to Admins in case a Forum is hidden.
* Added tests
= 1.4.2 =
* Tweak: make sure we have unique recipients. In some installs, duplicate emails were being sent.
= 1.4.1 =
* Fixed: preg_replace error in some installs.
= 1.4 =
* Fixed: Strict notices.
* Added: Settings link in Plugins page.
* Added: Logging failed wp_mail call.
* Added: Option to send notifications when adding/updating a topic or reply in the admin.
* Added: Enforce replacement of