Asaf cs wrote:
[...] In the .procmailrc script, few spamfilters are executed, and
their decisions are writen into a file. Sometimes, a mail which
appears in the mailbox, is not in the file (the line regarding it is
not writen).
If I understand you correctly, you want to send each message through a
series of spamfilters, and write a log entry based on the status of the
message. Your current problem is that the status of some messages is not
being logged. Is that correct?
I had a similar problem when implementing multiple levels of spam and
virus filtering.
I guess that it is a write-write situation, because the file is not
completely synchronized. Is there a way to synchronize the whole
.procmailrc?
In addition to the lockfile already suggested when writing the message
out, if the spamfilters are being called as filters, you can specify a w
(wait). Here's a sample of what I use:
# Filter through spamassassin :0 fw | /usr/bin/spamc -t 60
The procmailex manpage has an example (see the " Add the headers of all
messages that didn't come from the postmaster to your private header
collection" example), and notes the following:
In order to make sure the lockfile is not removed until the pipe has
finished, you have to specify option `w'; otherwise the
lockfile would be removed as soon as the pipe has accepted the mail.
Hope this helps!
- Bob
____________________________________________________________
procmail mailing list Procmail homepage: http://www.procmail.org/
procmail(_at_)lists(_dot_)RWTH-Aachen(_dot_)DE
http://MailMan.RWTH-Aachen.DE/mailman/listinfo/procmail