[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

config maildrop



Bonjour,


J'aimerais bientot monter un serveur mail complet sous linux , et j'ai
quelques dificultés avec maildrop, (qui recoit les messages de postfix
(serveur smtp), et qui est censé distribuer les messages dans le
sous-dossier que je souhaite.

Le problème que j'ai en ce moment, c'est que quelque soit le destinaire
du message, il copie tout dnas le même sous-dossier.

J'ai essayé de faire ceci pour le debugger:

J'ai crée un pseudo mail dans message.eml.

---------------------------------------
From: boubou@boubou.com
To: tbzone@wanadoo.fr
Subject: coucou

Salut toi
-------------------------------------------

Après je lance manuellement cette commande:

maildrop -V 4 -d thierry@linux.bouhnik.eu.org < message.eml

Je vous explique, en fait tbzone@wanadoo.fr est un compte dont les
messages sont retirés en pop par fetchmail et qui sont ensuite envoyés à
postfix au user thierry@linux.bouhnik.eu.org.

Malheuresement, tous les messages sans exception sont matchés par la
1ère de ms règles de mon maildroprc, ci dessous, et donc ca va dans le
sous dossier Teil. (alors que c'est censé y aller seulement quand le
champ "to" contient teil@linux.bouhnik.eu.org (qui est un alias de
thierry@linux.bouhnik.eu.org)

---------------------------------------------------------------------------------------------------------

SENDMAIL="/usr/sbin/sendmail -oi -f $FROM"
#logfile "/var/log/maildrop.log"
#VERBOSE = "5"
#log "========"

/To:.*/:h
TO="$MATCH"

/From:.*/:h
FR="$MATCH"

/Subject:.*/:h
SUB="$MATCH"

if ( $SIZE < 26144 )
{
    exception {
       xfilter "/usr/bin/spamassassin"
    }
}

if (/^X-Spam-Flag: *YES/)
{
    exception {
    `logger -t maildrop -pmail.info "$FR $TO $SUB File:$DEFAULT/.Spam"`
        to "$HOME/$DEFAULT/.Spam/"
    }
}

foreach /^(To|Cc): .*/
{
    foreach (getaddr($MATCH)) =~ /.+/
    {
        if ((tolower($MATCH)) == teil@linux.bouhnik.eu.org)
    {
       exception {
          `logger -t maildrop -pmail.info "$FR $TO $SUB Match:$MATCH
File:$DEFAULT/.Teil"`
          to "$HOME/$DEFAULT/.Teil/"
       }
        }
    if ((tolower($MATCH)) == virus@linux.bouhnik.eu.org)
    {
            exception {
        `logger -t maildrop -pmail.info "$FR $TO $SUB Match:$MATCH
File:$DEFAULT/.Virus"`
                to "$HOME/$DEFAULT/.Virus/"
            }
    }
    if ((tolower($MATCH)) == tbzone@wanadoo.fr)
    {
            exception {
        `logger -t maildrop -pmail.info "$FR $TO $SUB Match:$MATCH
File:$DEFAULT/.Virus"`
                to "$HOME/$DEFAULT/.Wanadoo/"
            }
    }
    else
    {
        exception {
        `logger -t maildrop -pmail.info "$FR $TO $SUB Match:$MATCH
File:$DEFAULT"`
                  to "$HOME/$DEFAULT"
        }
    }
     }
}
--------------------------------------------------------------------------------------------------------

Voila ce qu'il m'affiche ensuite dans la console que j'ai (grace au
verbose) et qui me permettent de voir comment il utilse ce .maildroprc.

-----------------------------------------------------------------------------------------------------
maildrop: authlib: groupid=1001
maildrop: authlib: userid=1001
maildrop: authlib: logname=thierry@linux.bouhnik.eu.org,
home=/home/vmail/, mail=linux.bouhnik.eu.org/thierry/Maildir/
maildrop: Changing to /home/vmail/
Message start at 0 bytes, envelope sender=thierry@linux.bouhnik.eu.org
/etc/maildroprc(2): SENDMAIL="/usr/sbin/sendmail -oi -f
thierry@linux.bouhnik.eu.org"
Matching /To:.*/ against From: boubou@boubou.com
Not matched.
Matching /To:.*/ against To: tbzone@wanadoo.fr
/etc/maildroprc(7): Search of To:.* = 1
/etc/maildroprc(8): TO="To: tbzone@wanadoo.fr"
Matching /From:.*/ against From: boubou@boubou.com
/etc/maildroprc(10): Search of From:.* = 1
/etc/maildroprc(11): FR="From: boubou@boubou.com"
Matching /Subject:.*/ against From: boubou@boubou.com
Not matched.
Matching /Subject:.*/ against To: tbzone@wanadoo.fr
Not matched.
Matching /Subject:.*/ against Subject: coucou
/etc/maildroprc(13): Search of Subject:.* = 1
/etc/maildroprc(14): SUB="Subject: coucou"
/etc/maildroprc(16): Evaluating IF condition.
/etc/maildroprc(16): IF evaluated, result=1
/etc/maildroprc(18): Trapping exceptions.
maildrop: Filtering through xfilter /usr/bin/spamassassin
/etc/maildroprc(18): Exception trapping removed.
/etc/maildroprc(23): Evaluating IF condition.
Matching /^X-Spam-Flag: *YES/ against From: boubou@boubou.com
Not matched.
Matching /^X-Spam-Flag: *YES/ against To: tbzone@wanadoo.fr
Not matched.
Matching /^X-Spam-Flag: *YES/ against Subject: coucou
Not matched.
Matching /^X-Spam-Flag: *YES/ against X-Spam-Checker-Version:
SpamAssassin 3.0.3 (2005-04-27) on debian
Not matched.
Matching /^X-Spam-Flag: *YES/ against X-Spam-Level:
Not matched.
Matching /^X-Spam-Flag: *YES/ against X-Spam-Status: No, score=-2.6
required=5.0 tests=ALL_TRUSTED,MISSING_DATE,        NO_REAL_NAME
autolearn=ham version=3.0.3
Not matched.
/etc/maildroprc(23): Search of ^X-Spam-Flag: *YES = 0
/etc/maildroprc(23): IF evaluated, result=0
Matching /^(To|Cc): .*/ against From: boubou@boubou.com
Not matched.
Matching /^(To|Cc): .*/ against To: tbzone@wanadoo.fr
Matching /^(To|Cc): .*/ against Subject: coucou
Not matched.
Matching /^(To|Cc): .*/ against X-Spam-Checker-Version: SpamAssassin
3.0.3 (2005-04-27) on debian
Not matched.
Matching /^(To|Cc): .*/ against X-Spam-Level:
Not matched.
Matching /^(To|Cc): .*/ against X-Spam-Status: No, score=-2.6
required=5.0 tests=ALL_TRUSTED,MISSING_DATE,      NO_REAL_NAME
autolearn=ham version=3.0.3
Not matched.
/etc/maildroprc(31): Search of ^(To|Cc): .* = 1
Matching /.+/ against tbzone@wanadoo.fr

/etc/maildroprc(33): Search of .+ = 1
/etc/maildroprc(35): Evaluating IF condition.
/etc/maildroprc(35): IF evaluated, result=1
/etc/maildroprc(37): Trapping exceptions.
maildrop: Filtering through `logger -t maildrop -pmail.info "$FR $TO
$SUB Match:$MATCH File:$DEFAULT/.Teil"`
WARN: quota string '0' not parseable
------------------------------------------------------------------------------------------------------

donc appremment ce sont ces lignes là qui font que maildrop distribue le
courrier dans Teil:

/etc/maildroprc(35): Evaluating IF condition.
/etc/maildroprc(35): IF evaluated, result=1
/etc/maildroprc(37): Trapping exceptions.

Et sinon dans mon fichier de log:

Feb 11 11:28:11 debian maildrop: From: boubou@boubou.com To:
tbzone@wanadoo.fr Subject: coucou Match:tbzone@wanadoo.fr
File:linux.bouhnik.eu.org/thierry/Maildir//.Teil

Mais comment il peut evaluer la condition if ((tolower($MATCH)) ==
teil@linux.bouhnik.eu.org) à vrai si $MATCH ne contient pas
"teil@linux.bouhnik.eu.org"?

Merci :-)
A+



Reply to: