unsubscriptions due to automatic bounce processing
![](https://secure.gravatar.com/avatar/a36b8fc8ab1a592335762e9916ab111b.jpg?s=120&d=mm&r=g)
I recently took over a lot of pre-existing mailman lists for a new client. At least one list was pretty messy. They had automatic bounce processing turned on, but the threshold was high, and reset time was shorter than the typical length of times between postings (it's an announce-only list that goes out about once monthly). So there were a lot of bad addresses.
I decided to set it up to clean out the cruft fast, and then I'd temper it back a little. So I set it up like this:
bounce_processing: yes bounce_score_threshold: 2.0 bounce_info_stale_after: 63 bounce_you_are_disabled_warnings: 0 bounce_you_are_disabled_warnings_interval: 7 bounce_unrecognized_goes_to_list_owner: no bounce_notify_owner_on_disable: yes bounce_notify_owner_on_removal: yes
It appears to have worked, but what I'm confused about is this: the last mailing went out on August 11th, and the list owners got 750 automatic unsubscribes yesterday. "bounce_you_are_disabled_warnings" set to zero is supposed to mean that people are removed "immediately" ... but maybe that means "immediately, once some scheduled script or job runs"? Let me know what controls that, or if I'm maybe going the wrong direction here. I.e., does bounce processing only happens once every few weeks, perhaps?
Thanks, Matt
![](https://secure.gravatar.com/avatar/56f108518d7ee2544412cc80978e3182.jpg?s=120&d=mm&r=g)
On 08/25/2016 12:28 PM, Matt Morgan wrote:
No. You are on the right track, but there's a different issue here.
With bounce_you_are_disabled_warnings = 0, a user for whom a bounce is received which increases her bounce score to or above bounce_score_threshold will immediately have delivery disabled and be unsubscribed.
However, your 750 users still had delivery enabled, but had bounce scores >= 2. You lowered the threshold to 2. This did nothing to those users at that point, but the next time Mailman's cron/disabled ran, it looked at the user's current bounce score that was now >= bounce_score_threshold (which you just lowered) and called the list's disableBouncingMember() method which resulted in the user's unsubscription.
If you look in mailman's bounce log, you will see the 750 unsubscribes, but if you look back to Aug 11 or before, I think you will see the users had scores >= 2.
-- Mark Sapiro <mark@msapiro.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan
![](https://secure.gravatar.com/avatar/56f108518d7ee2544412cc80978e3182.jpg?s=120&d=mm&r=g)
On 08/28/2016 05:59 AM, Matt Morgan wrote:
Thanks! I think I need to understand better what mailman does on schedule. Is there somewhere a brief description of those cron jobs?
The cron jobs are in Mailman's cron/ directory. The standard ones are bumpdigests, checkdbs, cull_bad_shunt, disabled, gate_news, mailpasswds, nightly_gzip and senddigests. You can run any of them with a '--help' option for more info. bumpdigests is normally not run as it's function is handled automatically. I also recommend not running nightly_gzip as it just makes/updates the archive *.txt.gz files which are unnecessary, but if you stop running it, you should also remove all the archives/private/*/*.txt.gz files (but not the archives/private/*/*.txt files).
There is a crontab.in file in the cron/ directory which is the suggested crontab, but the actual crontab may be in /var/spool/cron/mailman, /var/spool/cron/crontabs/mailman, /etc/cron.d/mailman or elsewhere depending on the OS and how Mailman was installed.
-- Mark Sapiro <mark@msapiro.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan
![](https://secure.gravatar.com/avatar/56f108518d7ee2544412cc80978e3182.jpg?s=120&d=mm&r=g)
On 08/25/2016 12:28 PM, Matt Morgan wrote:
No. You are on the right track, but there's a different issue here.
With bounce_you_are_disabled_warnings = 0, a user for whom a bounce is received which increases her bounce score to or above bounce_score_threshold will immediately have delivery disabled and be unsubscribed.
However, your 750 users still had delivery enabled, but had bounce scores >= 2. You lowered the threshold to 2. This did nothing to those users at that point, but the next time Mailman's cron/disabled ran, it looked at the user's current bounce score that was now >= bounce_score_threshold (which you just lowered) and called the list's disableBouncingMember() method which resulted in the user's unsubscription.
If you look in mailman's bounce log, you will see the 750 unsubscribes, but if you look back to Aug 11 or before, I think you will see the users had scores >= 2.
-- Mark Sapiro <mark@msapiro.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan
![](https://secure.gravatar.com/avatar/56f108518d7ee2544412cc80978e3182.jpg?s=120&d=mm&r=g)
On 08/28/2016 05:59 AM, Matt Morgan wrote:
Thanks! I think I need to understand better what mailman does on schedule. Is there somewhere a brief description of those cron jobs?
The cron jobs are in Mailman's cron/ directory. The standard ones are bumpdigests, checkdbs, cull_bad_shunt, disabled, gate_news, mailpasswds, nightly_gzip and senddigests. You can run any of them with a '--help' option for more info. bumpdigests is normally not run as it's function is handled automatically. I also recommend not running nightly_gzip as it just makes/updates the archive *.txt.gz files which are unnecessary, but if you stop running it, you should also remove all the archives/private/*/*.txt.gz files (but not the archives/private/*/*.txt files).
There is a crontab.in file in the cron/ directory which is the suggested crontab, but the actual crontab may be in /var/spool/cron/mailman, /var/spool/cron/crontabs/mailman, /etc/cron.d/mailman or elsewhere depending on the OS and how Mailman was installed.
-- Mark Sapiro <mark@msapiro.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan
participants (2)
-
Mark Sapiro
-
Matt Morgan