Leave junk quarantined but transport all other email
Hi all -
We are trying to setup a Spam filtering with Quarantine system (ala Postini, MXLogic, etc) with Zimbra. We are accomplishing this using another MTA setup on other boxes, but would rather utilize Zimbra and only have to maintain one core system.
The goal of this setup is for Zimbra to accept mail for domains, run them through its normal spam filters, but instead of deliver all mail normally, forward good mail for these off-site domains to a final MTA (via transport), while retaining the spam in a per-user quarantine (their Junk folder). The users should then be able to log in to Zimbra and check their spam quarantine / junk for incorrectly tagged ham. In the event they find ham, they should be able use the standard 'Not Junk' button. The email should then be forwarded to the desired final MTA, as well as forwarded to the ham trainer and deleted from the users account.
We can't seem to find any pre-made solutions to do this and we're having trouble coming up with the "correct" way via copious forum and Google searching. We've come up with the following solutions/options and are soliciting some advice on the right way to go. The solution should cater to the KISS principle, but also must be as stable and accurate as possible:
- Create a Zimbra plugin.
- Utilize a Sieve filter for each account, which possibly sends the email somehow (pipe to procmail?) to another local MTA configured to route the emails it receives via SMTP transport.
- Use the SOAP API.
- Use more third party tools, such as a webmail system (Squirrelmail) which does some custom "stuff", fetchmail, etc.
We're looking for feedback on what might be the best solution long term. We want something that will be solid and as integrated with Zimbra as possible. We're currently processing over 1Mil emails/month on our other boxes, so it must be robust and error proof. If we lose emails, we lose our clients.
All advice is appreciated.