Hi,

I'm in the process of building a new mail setup based on dspam. 

dspam is invoked with the following options:

  "/usr/bin/dspam --deliver=innocent --user $RCPTS"

Dspam delivers innocent mails via SMTP.

QuarantineAgent is a small script that use safecat to deliver
quarantined mails to a Maildir.

In order to know if a mail is considered spam or not I have enabled
"Broken ReturnCodes". According to the documentation "'returnCodes'
causes DSPAM to return an exit code of 99 if the message is spam, 0 if
not, or a negative code if an error has occured."

This seems to work almost as expected. Dspam returns '0' after
delivering an innocent message and '99' after delivering a spam mail. If
dspam for some reason can't deliver an innocent message via SMTP I get a
returncode different from '0' and '99' and I can act accordingly and
defer the mail.

The problem is that, if the QuarantineAgent fails to deliver the spam
mail, dspam still returns '99' - which means that the message will be
lost. Using a small script that just exits '1' or '0' as
QuarantineAgent still makes dspam return '99' :-(

Any ideas how to solve this issue?


Regards,
/Claus A








Reply via email to