Wow Thanks Sandy,
I have talked to the SM tech support and have searched through their forum but they believe this is SA issue.
That makes a lot of sense. Yes, I am familiar with writing batch files. I am not a god at writing them but I can read and write them.
Yes we do use SMFilter but we call the spamassassin.bat from it. (I didn't know we could compile an exe file)
Now, here is the issue I see with the bat file.
There are millions of key phrases. Is there a way in the bat file to point it to some type of a list such as the one spam assassin already has or some type of a database.
If I utilize: head -10 %1 | find /I /c "string" then this is going to require me to enter each string on a separate line.
If I can utilize that from the SA database that already has these items then it will never go into SA?
Then that brings me to a point of asking, If I can utilize the SA Database using that method, then what good is SA?
Thanks again for the advice on that. I will check into the SM forums to ask about that.
Wayne
-------Original Message-------
Date: 06/03/06 04:51:00
Subject: Re: Hiring for Spam Assassin Troubleshooting
> We already have SA setup and working with Smartermail.
Well, not really. I'd say part and parcel of any SA-MTA integration is
finding a way to whitelist messages _before SA is launched_, thus (a)
saving you SA's CPU and disk time (esp. since you're using
process-based spamassassin and not client/server spamc/spamd), and (b)
eliminating problems like this caused when DNS and/or local content
issues force SA to judge your messages as spammy. SA itself is not the
place for true whitelisting; you really want to do this pre-SA.
Anyway, SmarterMail shells to the external command-line you specify --
you may be calling SMFilter (a tiny wrapper for Clam and
SpamAssassin), or calling spamassassin.bat or compiled
spamassassin.exe directly -- passing the body file name as last
argument. You can thus retrieve the body file name from within a batch
file as %1, if you've ever worked with batch file syntax.
Within the first couple of headers added by SmarterMail, you'll see
whether the mail was submitted by an authenticated user or not. I
don't know their exact syntax offhand, but I know that SM does pass
the authentication info to external apps. Ask on the SM forum what the
exact string'll be. Then I'd suggest writing a batch file that, at the
very top before calling spamassassin, uses a text search/replace
utility to search only the first, say, 10 lines for a known string and
skips calling SA if the string is found. Pseudo-batch:
head -10 %1 | find /i /c "string"
if %ERRORLEVEL%==0
(exit from batch file and return to smartermail, mail was auth'd)
else
(scan with SA, since authentication string was not found)
This example uses the unxtools version of head.exe, which you can get
While you may not be comfortable with this course of action either, it
does tap into a different skill set that may be more familiar to you
than DNS. You should have a way going forward of excluding mail from
being even touched by SA.
BTW, I consider this a SmarterMail issue as much as an SA one, and as
such I hope you have been thorough enough to ask on their forum, or at
least you will now.
--Sandy
|