Understanding bounce processing report

Phplist 3.3.7
When we process our bounces this is the report:

2 bounces to fetch from the mailbox
Please do not interrupt this process
Closing mailbox, and purging messages
Processing bounces based on active bounce rules
0 bounces processed by advanced processing
1094 bounces were not matched by advanced processing rules
Identifying consecutive bounces
total of 520 subscribers processed

My question is – what is the “1094 bounces were not matched by advanced processing rules” telling me? Does it mean that we have 1094 bounces that we are not processing at all, because they are not matching the advanced rules, and if so, what is the best way to add the appropriate rules? I’m hoping that is not looking up each bounce and adding a new rule (one-by-one) to account for that bounce.

We are really trying to clean up all of our bounces and have always (9 year Phplist user) been confused by the bounce process.


Bounces can processed by counting the number of consecutive bounces, and then unsubscribing the user, or, you can use advanced bounce processing, which applies rules (regular expressions) to the bounced email, and follows the processing rules (i.e. ignore the bounce, blacklist the user, unsubscribe, etc).
You do need to setup your own rules, I would suggest that is the best way, in that it allows you to decide what to do for various situations. It shouldn’t take too long to do this… you might create a rule that affects 100 of the bounces, so in the end, you won’t need to create 1094 rules.
Sounds like you are familiar with how to create a rule.

1 Like

Thank you!
You wouldn’t happen to know where I can find of list of the most common (regular expressions) to use, would you? I have added over 20 rules based upon the bounces in my system and it seems each one is slightly different and handles only a small number of bounces.
Can I use (550 5.1.1) as a regular expression and have it deal with all 550 5.1.1 bounces or does it need to be the (Recipient address rejected:) that appears after it used in the (regular expression)? how can I use wild cards or pieces of the expression to capture more bounces with a single expression?
Thank you in advance for your assistance.

1 Like

Hi JG64, @duncanc had posted some rules in the past, I myself don’t have any I could provide. For developing regular expressions, I typically use a program called ‘regex buddy’, which i would recommend… http://www.regexbuddy.com/


@JG64 @danwaterloo I could not remember where I originally posted some bounce rules but am attaching a set of regular expressions that will cover a high proportion of bounces.

Add each line as the regular expression for a rule with whatever action you want to use.

bounce rules.txt.zip (820 Bytes)

1 Like

Dan and Duncan,
Thank you both for your responses. I have spent a fair amount of time looking through “bounce” information and have not seen a list of the basic expressions such as those provided by Duncan, or knew about “regex buddy”. Given the number of questions out there regarding bounces, I am sure this would be valuable to others as well.
In looking at the expressions, they are all a lot longer and more complex than I thought you could put in the expression field.
Would it be unwise to delete the rules I have (which obviously have not captured the majority of my bounces) and replace them with these?
Thank you BOTH for your time and efforts!

The approach is to have one regular expression contain several strings that can match a bounce, such as invalid email, invalid account, unknown email, etc. That way there are fewer rules than if you created one rule for each specific string that you want to match.

Each regular expression is up to 250 characters, because that was the size of the field in the database table. I think that the field has been increased in size but there’s not really much reason to change the rules.

1 Like

Hi @duncanc, Thanks for re-posting your set of rules.

Thanks for the explanation – and rules!

In the official manual there are some examples: https://www.phplist.org/manual/ch040_bounce-management.xhtml