You may have a reason for reinventing the wheel, but if you don't, I suggest using Amavis-New. It connects with Spam-Assassin and whatever virus scanner you configure (I use ClamAV). Its very easy to use and very reliable (I use it to scan incoming mail for about 200 domains). It works great with Postfix and its written in Perl which just makes it even better :).
If you use it I'd also suggest uninstalling your vendor's Spam-Assassin if you have one and install the one from CPAN. (At least with Fedora they hadn't updated to SA 3 yet which is a lot better).
Feel free to PM me if you'd like some more info
HTH