=== bbPress Notify (No-Spam) === Contributors: useStrict Donate link: https://www.paypal.me/usestrict Author URI: https://www.usestrict.net/ Plugin URI: https://usestrict.net/2013/02/bbpress-notify-nospam/ Tags: bbpress, email notification, no spam Requires at least: 3.1 Tested up to: 6.4.3 Text Domain: bbpress-notify-nospam License: GPLv2 or later License URI: http://www.gnu.org/licenses/gpl-2.0.html Stable tag: 2.18.3 Requires PHP: 5.6 == Description == The most powerful new topic and reply notification system for bbPress and also BuddyBoss, giving your forum users a personalized experience. New! We've launched a Facebook Group to discuss all things bbpnns: Better Forum Notifications with bbPress Notify (No-Spam). = Features include = * Send notifications in HTML, Plain text, or Multipart format, with full image support. * Replace original subscription messages with personalized ones of your own; * Set Notification recipient roles for new topics and/or replies; * Send Background Notifications (to avoid delays in loading pages for large user databases); * A nifty Dry Run tool to help you understand who would be receiving notifications given the selected settings; * Extensible through dozens of actions and filters; Click here for the full documentation.
= Premium Add-Ons = Take your notifications to the next level with one or more of these add-ons.== Installation == 1. Upload the entire plugin folder via FTP to `/wp-content/plugins/`. 2. Activate the plugin through the 'Plugins' menu in WordPress. 3. Go to the bbPress Notify (No-Spam) in the main admin menu -> Settings to customize the settings. == Frequently Asked Questions == = I'm using BuddyBoss instead of bbPress. Does this plugin work for me? = * Yes! BuddyBoss forked bbPress and kept all of the inner workings. This means that anything that works with bbPress will also work with BuddyBoss. = Why am I not receiving notifications of a topic/reply that I created? = * Make sure the setting to notify authors of their own posts is checked in both the Topics and Replies screen. = Where are the settings? = * As of version 2.0, the settings are no longer in the Forums screen but have their own location in the Admin menu area. = People are getting timeouts when posting a new Topic or Reply. Why? = * When a new Topic or Reply is created, bbpnns is triggered to send notifications regarding that new post. If there are too many recipients, it may take too long for bbpnns to iterate through the recipient list and the web server will throw a timeout message; the person posting it will think their message didn't get saved. To get around this problem, turn on the option to send messages in the background. That will create a scheduled action for the next time the wp-cron runs, and bbpnns will try to override any time limits while running. = Why are some of my users not getting notified? = * If you have *not* turned on Background Notifications, see the FAQ item above. If you have turned it on and some users are still not getting notified, it could be that your host is not letting bbpnns finish doing its thing, even though the timeout settings have been overridden. Some hosts will have scripts monitoring long running processes and have them killed, regardless of the PHP timeout values. A solution for this is to have bbpnns work faster, and for that we've released the [Bulk Mailer add-on](https://usestrict.net/product/bbpress-notify-no-spam-bulk-mailer/?utm_source=bbpnns-readme&utm_medium=web&utm_campaign=bbpnns-wp.org) which connects with an existing Mailgun or SendGrid account and sends notifications to up to 1000 recipients in the time it would otherwise take to send to a single one. = Can a user turn off notifications? = * Originally, this plugin was developed to alert Administrators of new topics and replies. After a few iterations, users requested the ability to send messages to other roles, which could then be characterized as spam. To allow your users to opt-out from receiving notifications, please consider purchasing the [Opt-out Add-on](http://usestrict.net/product/bbpress-notify-no-spam-opt-out-add-on/?utm_source=bbpnns-readme&utm_medium=web&utm_campaign=bbpnns-wp.org) or disable per-role notifications in favor of Overriding Core Subscriptions. = Does this plugin integrate with BuddyPress? = * Out of the box, no. However, you can get BuddyPress Group notification functionality using our premium [bbpnns/BuddyPress Bridge plugin](http://usestrict.net/product/bbpress-notify-no-spam-buddypress-bridge/?utm_source=bbpnns-readme&utm_medium=web&utm_campaign=bbpnns-wp.org). = Does this plugin integrate with X, Y, Z Membership/Privacy plugin? = * We can't add support for all sorts of third party plugins inside the core bbpnns plugin. It would become way too bloated. However, we do support some of the more popular membership and privacy plugins such as Private Groups, MemberPress, AccessAlly and Ultimate Member. See the Premium Addons section above for the links to each one. If you're using a different plugin and need support, reach out and let us know. We'll look into adding it. = Can this plugin be customized? = * If you have some WordPress coding experience, customizing should be really easy as we offer dozens of filters and actions. However, if you need help, reach out and let us know your specs for an estimate. == Screenshots == 1. The settings page - General tab 2. The settings page - Topics tab 3. The settings page - Replies tab 4. The settings page - Support tab == Changelog == = 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
- Reply by Email Add-on: Users can create new topics or replies directly from their mailbox. No need to click links or open the forums in a browser. Heck, they can even dictate their topics/replies if they want!
- Bulk Mailer Add-on: Having trouble with mailout timouts because you have too many users? This is the solution. Integrate bbpnns with Mailgun or SendGrid and send messages in batches of 1000 instead of one-by-one.
- Digest Add-on: Users can choose to receive daily, weekly, or monthly digests.
- Opt-out Add-on: Users can choose not to receive any notifications, or simply unsubscribe from the thread with a single click. A must-have for CAN-SPAM and CASL laws!
- bbPress Moderation Integration: Make bbpnns work with bbPress Moderation.
- bbPress Private Groups Integration: Make bbpnns respect bbPress Private Groups rules.
- BuddyPress Integration: Notify BuddyPress Group members of new Group Forum topics and replies. It also shows individual Opt Out and Digest settings in each user's BuddyPress profile screen. Compatible with BuddyBoss!
- MemberPress Integration: Make sure your members have access to Opt Out and Digest settings in their MemberPress profile screens, and only get notified of topics/replies they have access to.
- Ultimate Member Integration: Make sure your members have access to Opt Out and Digest settings in their Ultimate Member profile screens.
- AccessAlly Integration: A must for those using AccessAlly, so their users won't receive notifications for forums they don't have access to.
- LearnDash Integration: Play nicely with LearnDash user restrictions to forums.
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