diff options
-rwxr-xr-x | processmail | 15 |
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. |