Reset a User's Bounce Score

:notebook: This is a how-to guide for describing how-to reset the Bounce Score for users on your site.

What is a Bounce Score

Each Discourse user has a Bounce Score associated with their account.

Each time an email bounces to a user’s email address, that user’s ‘bounce score’ is incremented either by the value set by your site’s soft bounce score or hard bounce score setting depending on if the bounce was a temporary or permanent bounce.

Once a user’s bounce score reaches the value of a site’s bounce score threshold site setting Discourse will stop attempting to email the user.

If an email is not sent to a user who has exceeded the site’s bounce score threshold, an entry will be added to the Skipped logs (.../admin/email/skipped), and the Skip Reason will be set to Exceeded bounce_score_threshold.

Bounce Score Site Settings

The following site settings are available for controlling how bounce scores operate on a site. The default values are shown for each setting:

Reset a User’s Bounce Score

:warning: It’s important to make sure that any underlying issues with email deliverability are fully resolved before resetting bounce scores.

You can manually reset a user’s bounce score by going to the user’s admin page and clicking the ‘Reset’ button that is in the ‘Bounce Score’ row near the top of the page.

Resetting a user’s bounce score will simply bring all the scores back to 0 allowing emails to resume sending to that user.

If you do not click the Reset button, Discourse will automatically clear the user’s bounce score after the period of time set by the reset bounce score after days has passed. After that period of time, Discourse will attempt to send emails to the user again.

:person_raising_hand: Is there any way they could reset their own bounce score?

No there’s not a way to do this, and it’s probably a bit risky to do. If this was possible, a user could, for example, continuously reset their own bounce score while continuing to bounce emails, which could cause problems with your email service.

Bulk Reset

It’s possible to reset the bounce score for all users globally, however, this requires access to the rails console for your site.

:warning: If you are a Discourse hosted customer, please reach out to team@discourse.org if you need to reset the bounce scores for users globally on your site.

To reset the bounce score for all users on your site, enter the rails console for your site with:

cd /var/discourse/
./launcher enter app
rails c

Then use the following command:

UserStat.all.update_all(bounce_score: 0.0, reset_bounce_score_after: nil)

This reset will cause Discourse to resume sending emails to any and all users who were not receiving emails due to “exceeding the bounce score threshold”.

3 Likes