+ Responder ao Tópico



  1. #1
    PatrickBrandao
    Visitante

    Padrão Variavel do procmail p/ nivel do spamassassin personalizado

    Galera,

    eu estou tentando fazer um script de nivel de spam personalizado e to com um problema, a ideia é:
    em cada pasta do usuario existe um arquivo chamado spamlevel cujo conteudo é um numero de * (asteriscos), assim, se o usuario colocar nivel 3, o conteudo do arquivo fica

    ***

    assim eu faço uma comparacao com o cabecalho do e-mail no campo X-Spam-Level, so que nao ta funcionando, veja o script do procmail:

    VERBOSE=ON
    LOGFILE=/tmp/procmail.log
    VIRTUALHOME=`/home/vpopmail/bin/vuserinfo -d $EXT@$HOST`
    SPAMLEVEL=`cat $VIRTUALHOME/spamlevel`
    MAILDIR=$VIRTUALHOME/Maildir

    :0fw
    | spamc

    :0w
    * ^X-Spam-Level: $SPAMLEVEL font color=#ff0000>ERRO AQUI</font>
    /var/lixo/spam

    :0w
    /home/vpopmail/bin/vdelivermail '' bounce-no-mailbox

    # FIM

    eu gostaria que onde esta:
    * ^X-Spam-Level: $SPAMLEVEL

    a variavel $SPAMLEVEL fosse substituida pelo numero de asterisco no arquivo do usuario.

    Por favor, me ajudem!!!!!

  2. #2
    PatrickBrandao
    Visitante

    Padrão procmail

    Bom, como ninguem quis me ajudar, eu resolvi sozinho, como faço parte de uma comunidade aberta, tai a solucao:

    #-----------------------
    VIRTUALHOME=`/home/vpopmail/bin/vuserinfo -d $EXT@$HOST`
    SPAMUSERCONF="$VIRTUALHOME/spamassassin.conf"
    SPAMCONFEXIST=`test -f $SPAMUSERCONF; echo $?`
    SPAMDIR="/var/lixo/userspam/${EXT}_${HOST}"
    TEMP=`mkdir $SPAMDIR`

    # verifica se o arquivo de spam existe
    :0fw
    * < 150000
    * ? test -e $SPAMUSERCONF
    | spamassassin --prefs-file=$SPAMUSERCONF

    :0fw
    * < 150000
    * ? test "$SPAMCONFEXIST" = "1"
    |spamc

    :0w
    * ^X-Spam-Status: Yes
    $SPAMDIR

    :0w
    |/home/vpopmail/bin/vdelivermail '' bounce-no-mailbox

    #------------------------------------------------------
    Patrick Brandao
    [email protected]