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

Re: Fwd: Mutt et configuration POP



Christophe Gallaire a écrit, dimanche 21 septembre 2008, à 16:06 :
> Bonjour Jean-Michel,

bonjour aussi,

> En IMAP tout passe correctement mais comme je l'ai dit c'est
> effroyablement long.

Au départ  pour minimiser  le temps  (et le coût)  de connexion  en RTC,
j'utilise la chaîne  classique relève-tri-lecture avec Getmail, Maildrop
et Mutt.

 - Getmail  est très simple à  configurer (définir login,  mot de passe,
   serveur et quelques autres options) ;

 - Maildrop est plus compliqué --- mais un peu moins tordu que Procmail,
   et sans doute aussi mieux maintenu ;

 - dans ~/.muttrc on définit quelques mailboxes et maildirs/ ...


Un extrait simplifié de ma configuration maildrop :

# copie en archive (à vidanger de temps en temps)
cc /archives/lhh/Mail/Backup/

VERBOSE=1
logfile '.maildrop.log'

# Suppression des doublons
`reformail -D 64000 Mail/duplicate.cache`
if ( $RETURNCODE == 0 )
   to 'Mail/doublons'

# Listes
if ( "$FROM" =~ /bounce-debian-/ )
{
    # tri des listes debian
    exception {
	if ( /^X-Loop: (debian-[a-z0-9-]+)/ )
	    to "Mail/LIST.$MATCH1"
    }
    # repêchage d'erreurs
    to 'Mail/LIST.debian.all'
}

# autres listes
if ( "$FROM" =~ /getmail/ )
   to 'Mail/LIST.getmail'

if ( "$FROM" =~ /pstricks/ )
   to 'Mail/LIST.pstricks'
# [...]


# Perso
MOI=<regexp de mes adresses>

# Pour trier mes réponses avec les autres
if ( "$FROM" =~ /$MOI/ )
{
    AUTRES=""
    foreach /^(To|Cc):.*/
    {
	foreach (getaddr "$MATCH") =~ /.+/
	{
	    AUTRES="$AUTRES $MATCH"
	}
    }
}
else
    AUTRES="$FROM"


# boulot
if ( "$AUTRES" =~ /@ac-[a-z]+\.fr/ )
   to '.maildirs/boulot/'

if ( /^Subject:.*wwwoffle/ )
   to 'Mail/BOX.wwwoffle'

if ( lookup("$AUTRES", '.dotcom') \
   || /^Organization: Ikarios$/ )
   to '.maildirs/com/'

if ( lookup("$AUTRES", '.famille') )
   to '.maildirs/famille/'

if ( lookup("$AUTRES", '.greenlist') )
   to '.maildirs/dialogues/'

# local
if ( "$FROM" =~ /\b(root|mailer-daemon)@/ )
   to "Mail/postm.${HOSTNAME}"

if ( "$FROM" =~ /@([^@]+\.)*maison/ || /^Envelope-To:.*@(localhost|.*maison)/ )
   to "Mail/local.${HOSTNAME}"


# Filtrages
if ( lookup("$AUTRES", '.blacklist') )
   to 'Mail/SPAM_blacklist'

if ( /^Subject: Re:/ && ! (/^In-Reply-To:/ || /References:/) )
{
   if ( /^Subject:.* news?([[:wbreak]].*)?$/ || /^Date:.* -0[1-9]00$/ )
	{
		DATE=`date`
		log "Date: $DATE\nFrom: $FROM\nExit: news\n"
		EXITCODE=0
		exit
        }

   to 'Mail/SPAM_faux_re'
}

xfilter 'spamc'
if ( /^X-Spam-Flag: YES/ )
   to 'Mail/spamassassin'

# sinon...
to '.maildirs/vrac/'

### Fin ###


# Autre exemple
# les trolleurs à la trappe
exception {
    if ( /^From: (.*)/ )
	{
        ADDR=getaddr("$MATCH1")
	    if ( lookup("$ADDR", '.trolleurs') )
	    {
	        if( /^Message-ID: <([^>]+)/ )
	            junk=`echo "$MATCH1" >> "$HOME"/.black_m-ids`

		to 'Mail/Trolls'
	    }
    }
}

# la suite du troll aussi
exception {
    if ( /^References: (.*)/ )
    {
        if ( lookup("$MATCH1", '.black_m-ids') )
            to 'Mail/Trolls'
    }
}


-- 
Jacques L'helgoualc'h


Reply to: