So where are you calling Spamassassin for each email? Hmm... maybe
you need to have -d ${recipient} in your spamassassin call?
Or better yet, call the 'deliver' program from dovecot like I showed
isntead.
spamass-dovecot_destination_recipient_limit = 1
virtual_alias_maps = hash:/etc/postfix/virtual-alias-maps
virtual_mailbox_maps = sqlite:/etc/postfix/virtual_users.cf
virtual_transport = spamass-dovecot
I've simplified the configuration by turning off spamassassin and
removing any mention of it from master.cf. Things are working now. But
I'm still baffled why basically the same master.cf config is working on
one server but not another. I wonder if different SA configs might be
the problem.