Change Displayed Text SizeGrow Displayed Text SizeShrink Displayed Text Size


Friday, July 18, 2003

SpamAssassin on MacOS 8.6 and 9

Here's a very short how-to for getting [SpamAssassin] to run on MacOS 8.6 or MacOS 9, so that you can take advantage of it's spam-killing goodness without having to run MacOS X. You'll need to grab [MacPerl 5.6.1] to run this.

do not follow these instructions for MacOS X. on MacOS X SpamAssassin works out of the box

SpamAssassin requires a minor change in it's code to function properly on classic MacOS:

Line 32:
use constant RUNNING_ON_WINDOWS => ($^O =~ /^(?:mswin|dos|os2)/oi);
use constant RUNNING_ON_WINDOWS => ($^O =~ /^(?:mswin|dos|os2|mac)/oi);

That basically tells SpamAssassin to treat a Mac as if it's running on Windows (some things inside SpamAssassin require Unix, some don't - this switch tells SA we are not on Unix). For our purposes, this works.

Next, all of the SpamAssassin files need to be converted to Mac line breaks. There are [contextual menu plugins] that make this easy to do in a batch, you can also do this with BBEdit and any number of programs found on VersionTracker. For whatever reason, [MacPerl] and Unix line breaks do not get along (you have to do the same thing with HeaderDoc, etc.).

And now SpamAssassin should work for you. Some functionality requires Unix or additional perl modules, I haven't tried to get those working on MacOS 8.6 (yet).

I'm using [Pop3Proxy], a SpamAssassin-enabled POP3 proxy to filter my mail on the fly through SpamAssassin. It works fairly well with [MacPerl 5.6.1] on MacOS 8.6, and there is no reason it shouldn't work on MacOS 9. Getting it running on MacOS X was such a breeze it's not even worth mentioning - after all, there is no shortage of anti-spam stuff for Unix and MacOS X, but on MacOS 8.6-9.x the choices are very limited.

Follow the installation instructions provided with Pop3Proxy. Be sure to convert all of the files that come with it to Mac line breaks. You can create a droplet in MacPerl with the script so that it runs with just a double click. Be sure to set up your mail client properly and set the mail host inside the script (or the optional hosts file).

Once that's done, set up your mail client's filters to handle the spam appropriately. SpamAssassin and Pop3Proxy will mark the spam in the headers and subject line, set up your filters accordingly. So far I haven't had any false positives. There are a lot of options you can set in the user_prefs file for SpamAssasin with whitelists, etc. - you can read up on that on the main SpamAssassin site.

It works very well for me so far with [PowerMail]. It has locked up the system several times, make sure MacPerl has plenty of memory to work with (~32mb or more). It will slow your system down if it's running all the time - which sucks, and means that you can't have your email constantly checking if you have a slow system. I'm running a 366mHz G3 in my PowerTowerPro, your mileage may vary. It's probably best to run it only when checking mail, with some mail programs you may be able to script this with AppleScript (ie launch the pop3proxy script with AppleScript only when your mail application checks for new mail).

7/18/2003 08:33:44 PM ] [  ]