summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xprocessmail15
1 files changed, 13 insertions, 2 deletions
diff --git a/processmail b/processmail
index c1665add7..acd93315c 100755
--- a/processmail
+++ b/processmail
@@ -785,6 +785,8 @@ sub filterEmailGroup ($$$) {
push(@filteredList,$person);
+ my $detectedOn = 0;
+
foreach my $attribute (@emailAttributes) {
my $matchName = 'email' . $emailGroup . $attribute;
@@ -795,14 +797,23 @@ sub filterEmailGroup ($$$) {
next;
}
- if ( $flagName eq $matchName && $flagValue ne 'on') {
- pop(@filteredList);
+ if ($flagName eq $matchName){
+ if ($flagValue eq 'on') {
+ $detectedOn = 1;
+ }
}
} # for each userFlag
} # for each email attribute
+ # if the current flag hasn't been detected on at least once,
+ # this person gets filtered from this group.
+ #
+ if (! $detectedOn) {
+ pop(@filteredList);
+ }
+
# check to see if the person was removed from this email
# group.