bbPress Notify (No Spam)


Give bbPress notifications your personal touch by deciding who gets the emails and what they look like.

Features include

  • Send notifications in HTML, Plain text, or Multipart format, with full image support.
  • Override bbPress’ core subscription messages with your own;
  • Set Notification recipient roles for new topics;
  • Set Notification recipient roles for new replies;
  • Set Notification e-mail’s subject and body templates for both new topics and replies;
  • Send Background Notifications (to avoid delays in loading pages for large user databases);
  • Extensible through almost 40 actions and filters;

Premium Add-Ons

Take your notifications to the next level with one or more of these add-ons.

  • 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.
  • Reply by Email Add-on: Users can reply directly from their mailbox. No need to click links or open the forums in a browser. Heck, they can even dictate their replies if they want!
  • 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!
  • Digest Add-on: Users can choose to receive daily, weekly, or monthly digests.
  • 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.
  • 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.


We’ve made a parnership with, securing their SuretyMail Email certification (to make sure the email you send gets delivered to the inbox instead of the junk folder) for a fraction of the full price, and without the need to have a dedicated IP. Learn more about it here.


  • The settings page - General tab
  • The settings page - Topics tab
  • The settings page - Replies tab
  • The settings page - Support tab


  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.


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 webserver will throw a timeout message and 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 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 or disable per-role notifications in favor of Overriding Core Subscriptions.
Does this plugin integrate with BuddyPress?
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 around 40 filters and actions. However, if you need help, reach out and let us know your specs for an estimate.


August 22, 2019
Recently a website that I deal with heavily had an emailing-limit issue that was driving me and the people I work with nuts. Vinny came in and stayed with us for several hours, patiently doing diagnostics and tracking down the source of the issue - and it wasn't even related to any of his plugins. Very patient and professional, I recommend him and his products highly.
August 22, 2019
I am here to attest to the fact that Vinny will go above and beyond for his customers. All of the plugins that we use of his have performed as expected. BUT! Vinny himself has gone to the ends of the earth to help out with a problem with a plugin that is NOT one his plugins. We were having an issue with one plugin only sending out 20 emails when it needed to send to various numbers higher then the limit of 20. We searched everywhere trying to troubleshoot this issue. Vinny had come in to help with a configuration on one of his plugins, I shared about the issue we were having elsewhere. He helped us troubleshoot and told us what to tell the plugin author where the issue was with their code. Told the author and got a fix! Thank you Vinny seriously, you sir are most AWESOME! Your plugins ROCK too! SBonn
April 15, 2019
I like it so far. I have a private HOA community and wanted all members to receive notification on new forum topics. I also have a membership plugin with additional user roles. At first, I had the user roles set to notify Participants, but it was not working. I added more of the secondary roles and now it is working. I like the html email formats generated. Thanks for the plugin!
March 8, 2019
We have been working with Vinny for almost 1 week since we bought his solution bbPress Notify (No Spam) Reply by Email. I am very impressed by Vinny’s customer focus and attention to detail. We pointed out some small little opportunities for improvements. Usually, we would get an answer like “we will consider it in our next release”. To be honest, Vinny’s solution was so unique and it was 90% perfect for us out of the box, we would have accepted that statement. Instead, Vinny rolled up his sleeves and fine-tuned the code for us. The solution is now perfect. The best customer service ever. All improvements he tried out with us will be packed into his next release. I strongly recommend Vinny’s Reply by Email extension to everyone. Trust me, we tried every possible solution to deliver this function on the market. This is the only one that will work beautifully out of the box. Install his app, connect it, activate the API key, then put the webhook in your cronjob, you are in business. Why waste your time debugging your server after bringing it down with some unproven scripts? Save that time for your customers and business partners to take things to the next level. Before finding Vinny, someone pointed us to a "solution" published on Github. It was not updated for years. After this Github "plugin" killed my site, the author replied to my request for help by telling me to find my clue in my server's fatal error log. Since I should possess such skills, he really did not think it should be considered a bug of his plugin... Then we found Vinny... Yes, Vinny’s solution will work with any good SMTP that runs well on Amazon SES. Of course, if you have an SMTP plugin that works with Mailgun or Sendgrid that will be great too. Amazon SES will save you good monthly bills once your traffic grows. We tested both Postmark or Easy WP SMTP using our Amazon SES account. Both support Vinny’s solution smoothly without any glitch. Jing
Read all 29 reviews

Contributors & Developers

“bbPress Notify (No Spam)” is open source software. The following people have contributed to this plugin.



= 2.5.1 –
* Better encoding of href variables in convert_images_and_links().


  • Added ability to include forum subscribers in a reply notification.
  • Improved trace messages.


  • Added feature: Dry run tests to help identify which settings are adding/dropping which users from the recipient list.


  • Encode href variable in convert_images_and_links() if necessary.


  • Added action bbpnns_doing_notify_on_save.

= 2.2.1=
* Fix: Lines ending in
were being wrapped in



  • Enhancement: Call set_time_limit() when running as cron to try to avoid timeouts.
  • Enhancement: No longer embed images as some sites don’t use PHPMailer to allow attaching them.
  • Enhancement: Add support for [date] tag in email subjects and bodies. Accepted parameter is format and values are those accepted by the date() function. It defaults to WP’s date and time values in Settings > General.

  • Fix: make new argument forum_id optional for backwards compatibility with other plugins/customizations.

  • Fix: missed one instance of the bbpnns_topic_url filter in previous commit.


  • Added feature: Topic and reply urls in private forums now go through the login screen instead of throwing a 404 error.


  • Replace filename with basename in image attachments as filename did not have the extension.


  • Make render_template() public.


  • Set default has_sidebar value for settings screen.


  • Fix: Edge case where add_settings_error() was being called too soon.


  • Fix: Fixed undefined property notice in Settings screen.


  • Fix: Properly handle Subject line entity decoding when UTF-8 subject line option is selected.


  • Fix: Adjusted priority of ‘init’ as it was causing weird issues in some cases.


  • Fix: Add missed do_action( ‘bbpnns_register_settings’ ) call to admin_core.


  • Fix: Race condition between bbpnns and Moderation Tools for bbPress plugin.


  • Enhancement: Some third-party plugins are suppressing the database update notice with the button. Added a shortcut to force the upgrade. Use ?bbpnns_force_convert=1 query parameter in any Admin screen to force the update.


  • Fix: Some 1.x installs had non-array values for recipient roles. Normalizing them to avoid errors.


  • Fix: Role recipients settings field was not accepting an empty list.


  • Fix: Normalizing recipient roles from bad 1.x -> 2.0 conversion. This also fixes cases where some add-ons can’t display the user preferences in their profile screens.
  • Fix: Normalizing background notifications settings that were unified – previously we had one for topics and one for replies.
  • Added: Converting entities to their characters in subject line if UTF-8 subject is enabled.
  • Fixed: Removing duplicate notifications (bbpnns + bbpress core) in some scenarios.

* Removed debugging left behind in previous commit.


  • Fix: better handling of roles in topics and replies settings tabs.

  • Fix: Corrected instance of legacy options check.


  • Fix: Occasionally the background notifications settings checkbox would not uncheck.


  • Fix: Typo in previous commit causing set_notice() errors.


  • Fix: Defer conversion check to ‘init’ action as some installs were croaking with ‘undefined function add_settings_error’
  • Enhancement: Add support for certain add-ons to display their settings in the main bbpnns settings screen.


  • Fix: 1.x -> 2.x converter bug not saving settings correctly.


  • Major rewrite, added better settings screen and add-on interface.


  • Improvement: Support for environments that do not provide mb_convert_encoding().


  • Fix: Fix PHP notice by setting default value to wp_mail_error property in case third-party mailers fail and don’t call the wp_mail_error action.


  • Fix: Correctly handle DOMDOcument calls on PHP older than 5.3.6.


  • Fix: Added back the filters to stop default notifications in some cases where removing the core notification action wasn’t working.


  • Fix: Future Publish was not working.
  • Fix: Better handling of blocking bbPress core notifications if Overrides is on, to make sure we don’t send out multiple messages (ours plus the default one).
  • Cleanup: Commented out some notifications code that are no longer relevant.


  • Updated Tested up to
  • Added improved admin notice code and bbpnns-rbe April/2018 promo.


  • Added support for topic-content and topic-excerpt tags in replies.
  • Added check and warning of needed bridge plugins to play nicely with supported membership/permission plugins.


  • Fix: notify_on_save was not handling future dated publishing at all.


  • Fix DOMDocument to work with non-UTF8 characters. Thanks to @yinbit for the testing environment.


  • Don’t assume UTF-8 loading the text in DOMDocument to process image CIDs and convert links.


  • Add support for embedded images in notifications.
  • Capture case when topic_id does not get passed to notify_new_reply()


  • Adjust parameters for send_notification().


  • Add post type, topic/reply id and forum id to send_notification() so they can be used in bbpnns_filter_email_body_for_user and bbpnns_filter_email_subject_for_user filters.

  • Fix: Removed debugging left behind in 1.15.9


  • Decode quotes in topics and body.


  • Refactor topic-url code in reply notifications to improve performance.


  • Added support for topic-title, topic-author, and topic-author-email tags in the reply subject.


  • Remove surety message.


  • Fix: apply bbpnns_topic_url filter when processing topic_url inside a reply as well.


  • Added: bbpnns_core_subscribers filter.


  • Added: topic-title, topic-author, and topic-author-email tags are now available in replies.


  • Fix: unchecked iconv function was breaking some installs.


  • Fix: Plain text mailouts had broken UTF-8 characters.


  • Added: bbpnns_is_in_effect filter to help identify if Core Overrides are on or if a user belongs to a notifiable role.


  • Fix: Correctly handling encoded entities.
  • Fix: Check that iconv_mime_encode is available before trying to use it.
  • Added: bbpnns signature in email headers to help with troubleshooting.


  • Fix: Multipart messages are now working nicely with Mailgun and regular wp_mail calls.
  • Added: HTML to text converter is now handling images, replacing the html with their alt value.


  • Fix: Mailgun is replacing our multipart/alternative header boundary, so now admins can chose whether to send HTML, Plain Text, or Multipart messages.


  • New: WYSIWYG emails, complete with automatic multipart text version for non HTML clients.
  • New: Added user-name tags support.


  • Fix: Bad copy/paste on previous commit, which replaced the body with the subject line.


  • New: Added tags to get topic and reply author email.


  • New: Take over notifications for bbPress’ Core Subscriptions
  • New: Decide whether authors must receive their own notifications or not


  • ISIPP/SuretyMail partnership announcement.


  • Added: calling set_time_out(0) if doing cron. This should help people who are not getting all mailouts sent due to too many recipients.


  • Minor bug fix: [topic-forum] and [reply-forum] tags were missing from list of available tags, although functionality was fine.
  • Add: [topic-url] is now available in replies, too.


  • New Feature: No longer add topic/reply author to the recipient list.


  • Fix: Replace 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.


  • Fix filters bbpnns_filter_email_subject_in_build and bbpnns_filter_email_body_in_build to pass $type and $post_id


  • 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


  • 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

  • Fix: added a workaround for emails with UTF-8 Characters in the subject line that weren’t being sent.


  • 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’.


  • 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.


  • 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


  • Remove admin message as it’s not getting dismissed properly.
  • Update tested up to.


  • 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)


  • Notify about existence of Opt-Out add-on


  • Added support for Opt-Out add-on
  • Added labels to all input fields


  • Added support for tags [topic-forum], and [reply-forum]. (Towfiq I.)

  • Removed Pro message.


  • 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


  • Added user-contributed filters: bbpress_reply_notify_recipients, and bbpress_topic_notify_recipients


  • Added filters: bbpnns-filter-recipients, bbpnns-filter-email-subject, and bbpnns-filter-email-body

  • Fixed: buggy dismiss link in previous commit.


  • Added notice about bbPress Notify Pro project at Kickstarter.


  • 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


  • Passing $post_id and $title variables to filters added in 1.6.


  • Added support for filters ‘bbpnns_topic_url’, ‘bbpnns_reply_url’, and ‘bbpnns_topic_reply’


  • Improved Tests
  • Renamed some variables.


  • Fix: Make sure bbPress is installed and avoid race conditions when loading.


  • Fix: corrected missing newlines in topic/reply content email.


  • Fix: admin-only emails not working due to missed boolean casting.


  • 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


  • Added override option to only send emails to Admins in case a Forum is hidden.
  • Added tests


  • Tweak: make sure we have unique recipients. In some installs, duplicate emails were being sent.


  • Fixed: preg_replace error in some installs.


  • 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
    tags for newlines.


  • New: Added background notifications


  • Fixed: bug that was sending emails to everyone if no role was saved.
  • Fixed: no longer using ‘blogadmin’ as default, but ‘administrator’ upon install.


  • Added back old plugin deactivation
  • Bug fix for topic author not displaying when anonymous by Rick Tuttle


  • Improved role handling by Paul Schroeder.


  • Fixed edge case where user doesn’t select any checkbox in recipients list.
  • Array casting in foreach blocks.


  • Fixed load_plugin_textdomain call.


  • Fixed methods called as functions.


  • No-spam version forked.