Newsgroup: it.comp.os.linux.sys
Titolo: Configurazione maildrop

In un server con Postfix utilizzo maildrop per smistare la posta con lo
spam in una directory Imap in questo modo:
--------------------------------
if ( /^X-Spam-Status: Yes,/ )
{
 to "/home/vmail/dominio/utente/.Spam/"
}
--------------------------------
Vorrei fare in modo che se il livello di spam (il valore di hits
calcolto da Spamassassin è > di una determinata soglia) l'email venga
spostata nel Cestino; come fare con maildrop a matchare quel valore ?
 Ciriciao
  Gio'
-- 
/*
 * Solutions for New Business - 
http://www.snb.it
 */

 spostata nel Cestino; come fare con maildrop a matchare quel valore ?
io uso questo:
e controllo solo il codice di ritorno.
ma ISSPAM dovrebbe contenere un punteggio tipo 11/5 e puoi usare quello per filtrare.
        ISSPAM=`/usr/bin/spamc -c -u $MYUSERNAME@$MYDOMAIN `
        if ($RETURNCODE == 1)
        {
	....
dove:
       -c  Just check if the message is spam or not.  Set process exitcode to 1 if message is
           spam, 0 if not spam or processing failure occurs.  Will print score/threshold to
           stdout (as ints) or 0/0 if there was an error.  Combining -c and -E is a no-op,
           since -c implies the behaviour of -E.

        ....
Normalmente utilizzo xfilter "spamassassin -p $filediconfigurazione",
utilizzo solo utenti virtuali e non so se `spamc -u ...` funzionerebbe.
Ho già uno script che estrae lo score dall'email ma non so come poterlo
integrare, all'interno di maildrop mi servirebbe una variabile
contenente l'email.


 contenente l'email.
viene passato in stdin automaticamente se usi xfilter
dal manuale:
xfilter - filter message through another program
    xfilter expression
expression specifies an external program that maildrop runs to filter the current message. The current message will be piped to the filter program as standard input. The output of the filter program replaces the current message being delivered. The external program must terminate with an exit code of 0. If the external program does not terminate with an exit code of 0, or if it does not read the message from the standard input, maildrop terminates with an exit code of EX_TEMPFAIL

 
questo lo so ma se uso xfilter per passare le informazioni allo script,
come faccio a ritornare una variabile a maildrop ?
Se setto una variabile all'interno dello script come faccio a leggerla
all'interno di maildrop ?


 all'interno di maildrop ?
prova a restituire un valore, come nel mio primo post.
nel mio caso $ISSPAM contiene l'output del comando.
$RETURNCODE il valore di ritorno.
vedi:
http://www.courier-mta.org/maildrop/
RETURNCODE
    This variable is set when maildrop runs the xfilter command, or a command that's specified within a pair of backtick characters ( command substitution ). The RETURNCODE variable will be set to the exit code of the command, after it completes. 
e
Command substitution
Text enclosed in back-tick characters is interpreted as a shell command. The shell command is executed as a child process by maildrop. Its output is used in place of the command. For example:
    DIR=`ls`
places the names of the files in the current directory into the DIR variable.
The output of the command will have all newline characters replaced by spaces, and leading and trailing spaces will be stripped (multiple spaces are not removed, though). Also, the contents of the message being delivered is made available to the command on standard input.

 
potrebbe essere la strada buona, proverò e farò sapere
 Grazie & ciriciao
