These instructions may change slightly with each version, so it is wise to read up on what's required each time before proceeding. Note that the configuration is slightly different in each version. You may wish to upgrade perl in conjunction with this since to do either requires disabling the processing of incoming e-mail to the e-mail server.
Information on running SpamD on Windows: SpamdOnWindows
http://www.openhandhome.com/howtosa.html provides more detailed step by step information. The below info is largely a digest of said info. Please be advised that though this site provides more detailed step-by-step instructions, in some environments (like CommuniGate Pro with CGPSA), using the older ActivePerl and Net::DNS modules causes a number of problems. In other environments, his instructions may actually perform more reliably.
This installation procedure is for installing SpamAssassin in native Windows (not CYGWIN) using ActivePerl 5.8.4.810.
- Download the SpamAssassin zip file from www.spamassassin.org 2. Back up your settings if you already have it running. 2. Stop and disable SpamAssassin if it's running 3. Delete ~SpamAssassin directories, which may include:
- c:\etc\mail\spamassassin
- c:\perl\etc\mail\spamassassin
- c:\perl\share\spamassassin
- c:\perl\site\lib\mail\spamassassin.pm and spamassassin folder
- c:\perl\etc\mail\spamassassin or c:\perl\site\etc\mail\spamassin
- c:\spamdocs or whereever you put the docs last time
4. Make sure the following system environment variables are set: - RES_NAMESERVERS=<your-dns-server-ip-address>
- LANG=en_US
5. Install or upgrade Perl if required: - If upgrading, make note of any modules you need to reinstall, uninstall ActivePerl and delete the /perl folder tree.
- Download ActivePerl 5.8.4.810 (or newer 5.8.4 version) from www.activestate.com.
- Install it.
- Get nmake from Microsoft: http://download.microsoft.com/download/vc15/Patch/1.52/W95/EN-US/Nmake15.exe
- Extract the nmake.exe and nmake.err files into your /perl/bin folder
- Use PPM to install the required perl modules:
7. Install SpamAssassin:
ppm install Win32-Registry ppm install Net-DNS ppm install DB_File ppm install Time-HiRes ppm install IP-Country ppm install Mail-SPF-Query
- extract it to the c:\ folder with use folder names
- in a command prompt: cd\mail-spamassassin-3.00
- perl makefile.pl
- nmake /I
- nmake install /I
9. Generate the documentation. Make a batch file out of the following code and run it from the command prompt you started in the last step. This creates HTML documentation in the same directory structure that other perl documentation is already in, /perl/html/site/lib/mail/spamassassin.8. Copy the backed up configuration files into the site configuration folder, probably c:\perl\site\etc\mail\spamassassin.REM Run from the top of the SpamAssassin install directory mkdir \perl\html\site\lib\mail\spamassassin mkdir \perl\html\site\lib\mail\spamassassin\advanced mkdir \perl\html\site\lib\mail\spamassassin\plugins echo y|del \perl\html\site\lib\mail\spamassassin\*.* echo y|del \perl\html\site\lib\mail\spamassassin\advanced\*.* echo y|del \perl\html\site\lib\mail\spamassassin\plugins\*.* call pod2html spamassassin.raw --outfile \perl\html\site\lib\mail\spamassassin\spamassassin.html call pod2html sa-learn. --outfile \perl\html\site\lib\mail\spamassassin\sa-learn.html call pod2html lib\mail\spamassassin\AutoWhiteList.pm --outfile \perl\html\site\lib\mail\spamassassin\advanced\AutoWhiteList.html call pod2html lib\mail\spamassassin\Bayes.pm --outfile \perl\html\site\lib\mail\spamassassin\Bayes.html call pod2html lib\mail\spamassassin\Message\Metadata.pm --outfile \perl\html\site\lib\mail\spamassassin\advanced\MessageMetaData.html call pod2html lib\mail\spamassassin\Message\Node.pm --outfile \perl\html\site\lib\mail\spamassassin\advanced\MessageNode.html call pod2html lib\mail\spamassassin\BayesStore\SQL.pm --outfile \perl\html\site\lib\mail\spamassassin\advanced\BayesStoreSQL.html call pod2html lib\mail\spamassassin\BayesStore.pm --outfile \perl\html\site\lib\mail\spamassassin\advanced\BayesStore.html call pod2html lib\mail\spamassassin\conf.pm --outfile \perl\html\site\lib\mail\spamassassin\conf.html call pod2html lib\mail\spamassassin\Conf\SQL.pm --outfile \perl\html\site\lib\mail\spamassassin\advanced\confSQL.html call pod2html lib\mail\spamassassin\Conf\LDAP.pm --outfile \perl\html\site\lib\mail\spamassassin\advanced\confLDAP.html call pod2html lib\mail\spamassassin\Conf\Parser.pm --outfile \perl\html\site\lib\mail\spamassassin\advanced\confParser.html call pod2html lib\mail\spamassassin\permsgstatus.pm --outfile \perl\html\site\lib\mail\spamassassin\advanced\permsgstatus.html call pod2html lib\mail\spamassassin\message.pm --outfile \perl\html\site\lib\mail\spamassassin\advanced\message.html --quiet call pod2html lib\mail\spamassassin\permsglearner.pm --outfile \perl\html\site\lib\mail\spamassassin\advanced\permsglearner.html call pod2html lib\mail\spamassassin\plugin.pm --outfile \perl\html\site\lib\mail\spamassassin\advanced\PluginsArchitecture.html call pod2html lib\mail\spamassassin\persistentaddrlist.pm --outfile \perl\html\site\lib\mail\spamassassin\advanced\Persistentaddrlist.html call pod2html lib\mail\spamassassin\SQLBasedAddrList.pm --outfile \perl\html\site\lib\mail\spamassassin\advanced\SQLBasedAddrList.html call pod2html lib\mail\spamassassin.pm --outfile \perl\html\site\lib\mail\spamassassin\advanced\spamassassinclass.html cd lib\mail\spamassassin\plugin for %%f in (*.*) do call pod2html %%f --outfile \perl\html\site\lib\mail\spamassassin\plugins\%%f.html --quiet cd ..\..\..\..
0. Simple test (you should have no errors): spamassassin -D < sample-spam.txt
- Make a test folder on the D: drive. Copy sample-spam.txt and sample-nonspam.txt to that folder. 2. Open a command prompt to that folder. 3. Test the two files. Make sure they both run fine and the spam reports on each result file are appropriate.
- spamassassin -D -t < sample-nonspam.txt > results-nonspam.txt
- spamassassin -D -t < sample-spam.txt > results-spam.txt
by BretMiller