I have tried to locate help on creating filters. This is what I found and did:
(1) # su - zimbra
(2) $ zmprov gcf zimbraSpamHeader
(3) $ zmprov gcf zimbraSpamHeaderValue
(4) $ zmprov mcf zimbraSpamHeader X-SPAM-TAGGED
(5) $ zmprov gcf zimbraSpamHeader
1. First you have to run this as the user zimbra
2. check to see what the configuration setting is for the variable spam-header (gcf = get configuration)
Note: This is what value gets set into the header of the mail message if it is detected to be spam.
3. This setting shows that spam filtering is ON
4. This changed the setting in the mail header that will be set when the spam filtering detects spam to tag (and not delete)
5. This verified the setting took
Of course I restarted (stop and start - 2 actions) the tool after this so it would take effect.
Apparently there is some filter - maybe its configurable, maybe its built in and can not be changed - but there is a filter that runs after the email is processed for spam detection - this filter looks for the original setting in the mail header - and if it exists it will move the mail into the junk folder.
My change - band-aid as it is - does work to keep all mail in the inbox - so pop3 users will be happy to get all their email. otherwise most pop3 users will just let the spam sit in the junk folder on the server until it fills up their quota space.
I would have rather turned off the filter and leave the mail header update as it was, but alas I was not able to determine this...