Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

procmail

12 réponses
Avatar
Damien Detrain
Bonsoir

Je suis en train d'essayer de configurer depuis 3 jours procmail.

Malheureusement, quelle que soit la "recettes" que je veux utiliser elle
n'est pas prise en compte.

Que dois-je faire et où dois-je regarder ?

Merci.

Damien

10 réponses

1 2
Avatar
Christophe PEREZ
Le Tue, 08 Jul 2003 00:24:02 +0200, Damien Detrain a écrit:

Que dois-je faire et où dois-je regarder ?


Où les mets-tu tes règles ?
Elles doivent être dans le $HOME/.procmailrc

Si elles sont au bon endroit, montres un peu ces règles qu'on étudie ça.

--
Christophe PEREZ

Avatar
Damien Detrain
Voici le fichier procmail

Merci.

Damien

# ~/.procmailrc
# Fichier de configuration de Procmail, un programme qui trie les mails
# Formation Debian GNU/Linux par Alexis de Lattre
# http://www.via.ecp.fr/~alexis/formation-linux/

# Plus d'informations sur les options dans "man procmailrc"
# et des exemples dans "man procmailex"

# DEBUT des paramètres de configuration

# Je ne veux pas trop de messages dans les logs
VERBOSE=on

# Répertoire contenant les mailboxes
MAILDIR=$HOME/mail

# Fichier de log de procmail
LOGFILE=$HOME/.procmail.log

# FIN des paramètres de configuration

# DEBUT du tri des mails

#Rajoute un header contenant le nombre de lignes à tous les mails
:0bw
LINES=|wc -l | tr -d " "
:0fhw
|formail -a "Lines: $LINES"

# Procmail lit les règles dans l'ordre, et dès qu'une règle est validée,
# le mail est déplaçé dans la mailbox adéquate.

# On commence par aiguiller les mails des mailing-lists qui ne contiennent
# pas de spam

# DEBUT des mailing-lists SANS SPAM

:0:
#* ^From:.*pi.be
* ^From: Damien Detrain
essai/


#INCLUDERC=$MAILDIR/filtres.rc



# Mailing-list "Teper" que je trie avec la destination (Champ To ou Cc)
#:0
#* ^
#teper/

# Mailing-list "vls-devel" que je trie avec le champ "X-list"
#:0
#* ^X-list: vls-devel
#vls-devel/

# Mailing-list "linux-dvb" que je trie avec le Champ "Subject"
#:0
#* ^Subject: [essai]
#linux-dvb/

# FIN des mailing-lists SANS SPAM

# Utilisation de SPAMASSASSIN, qui rajoute un header X-Spam-Status:
:0fw
| spamassassin -P

# Les mails considérés par spamassassin comme étant du spam vont dans
# la mailbox "spam"
:0
* ^X-Spam-Status: Yes
spam/

# DEBUT des mailing-lists AVEC SPAM

# Mailing-list "ml-ac-spam" que je trie avec le champ "X-list"
:0
* ^X-list: ml-ac-spam
ml-ac-spam/

# FIN des mailing-lists AVEC SPAM

# Tout ce qui n'a pas été trié jusqu'ici va dans la mailbox principale
"inbox"
:0
inbox/

# FIN du tri des mails


"Christophe PEREZ" a écrit dans le message de
news:
Le Tue, 08 Jul 2003 00:24:02 +0200, Damien Detrain a écrit:

Que dois-je faire et où dois-je regarder ?


Où les mets-tu tes règles ?
Elles doivent être dans le $HOME/.procmailrc

Si elles sont au bon endroit, montres un peu ces règles qu'on étudie ça.

--
Christophe PEREZ



Avatar
Christophe PEREZ
Le Tue, 08 Jul 2003 18:48:31 +0200, Jacques L'helgoualc'h a écrit:

#Rajoute un header contenant le nombre de lignes à tous les mails
:0bw
LINES=|wc -l | tr -d " "
:0fhw
|formail -a "Lines: $LINES"


inutile de compliquer au début...


Juste en complément de ce qu'explique parfaitement Jacques, je dirai que
si, comme tu dis :
quelle que soit la "recettes" que je veux utiliser elle
n'est pas prise en compte




personnellement, je commencerais par ne mettre d'une règle, reconnue
valide.
Si ça passe, c'est que ce sont tes règles qui coincent.
Si ça ne passe pas, c'est un pb de config/autorisations.

Ceci n'est que mon humble avis.

--
Christophe PEREZ



Avatar
Jacques L'helgoualc'h
Christophe PEREZ a dit :

[...]

personnellement, je commencerais par ne mettre d'une règle, reconnue
valide.


Tu as raison --- on peut même ne pas mettre de règle du tout, seulement

VERBOSE=on
LOGFILE=$HOME/.procmail.log
DEFAULT=$HOME/mail/mbox

Par défaut, procmail livre le courrier dans ... la boîte par défaut ;)
(le répertoire ~/mail/ doit exister, bien sûr).

Si ça passe, c'est que ce sont tes règles qui coincent.


En mode verbose, la réponse est dans les logs...

Si ça ne passe pas, c'est un pb de config/autorisations.


~/.procmailrc ne doit pas être « group-writable », mais il faut le faire
exprès...
--
Jacques L'helgoualc'h

Avatar
Damien Detrain
"Damien Detrain" a dit :

Voici le fichier procmail


[...]
# Fichier de log de procmail
LOGFILE=$HOME/.procmail.log


Que contient ce fichier ? rajouter dans ~/procmailrc des lignes

LOG="on arrive ici"


Oups, si je met LOG="..." je n'ai aucun fichier log créé... J'en déduis
que procmail n'est pas appelé. Mais après vérification des fichiers de
configuration je ne vois pas d'erreur. J'utilise postfix.

Une idée ?

Merci.

Damien


permet de voir jusqu'où ça va.

[...]

#Rajoute un header contenant le nombre de lignes à tous les mails
:0bw
LINES=|wc -l | tr -d " "
:0fhw
|formail -a "Lines: $LINES"


inutile de compliquer au début...

[...]

:0:
#* ^From:.*pi.be
* ^From: Damien Detrain
essai/


Avec un « / » à la fin, c'est un répertoire au format maildir/ (rien à
voir avec la variable $MAILDIR), et non un fichier mailbox ; pas besoin
de verrouiller (remplace :0: par :0).

Si un _fichier_ essai existe, ça ne marche pas...

ls -l ~/mail/essai

devrait montrer les trois sous-répertoires cur/, new/ et tmp/.

[...]

# Utilisation de SPAMASSASSIN, qui rajoute un header X-Spam-Status:
:0fw
| spamassassin -P


utiliser spamc/spamd est plus rapide, mais tu pourras changer plus tard.

[...]

:0
inbox/


Là aussi, inbox/ et les autres boîtes/ doivent être des répertoires...



Avatar
Jacques L'helgoualc'h
Damien Detrain a dit :

"Damien Detrain" a dit :

Voici le fichier procmail


[...]
# Fichier de log de procmail
LOGFILE=$HOME/.procmail.log


Que contient ce fichier ? rajouter dans ~/procmailrc des lignes

LOG="on arrive ici"


Oups, si je met LOG="..." je n'ai aucun fichier log créé... J'en déduis
que procmail n'est pas appelé. Mais après vérification des fichiers de
configuration je ne vois pas d'erreur. J'utilise postfix.

Une idée ?


Je ne connais pas Postfix, mais je suppose qu'il peut prendre en compte
un ~/.forward ? Apparemment, il y a un problème d'alimentation en amont.

Si ce postfix n'est pas un serveur SMTP d'entrée, on peut aussi livrer
via fetchmail, getmail, etc. en allant relever des boîtes POP externes,
et en passant directement le courrier à procmail.


Par ailleurs, on peut tester des règles procmail dans un « bac à sable »

formail -s procmail pmtest.rc < mailbox-exemples

pour éviter de perdre du courrier. Si la configuration du procmailrc est
vraiment trop pénible, une alternative est maildrop ;)

Merci.


de rien,
--
Jacques L'helgoualc'h



Avatar
Damien Detrain
Merci à tout les deux pour vos réponses.

Alors, quand j'exécute la commande suivante (d'après la recommandation de
Jacques) : formail -d procmail .procmailrc < /var/mail/nobody

j'ai effectivement un fichier procmail.log qui est créé ! Je suppose que
maintenant je dois aller mettre ça dans ma config, mais où ? :-),
Pardonnez moi je suis débutant.

D'autre part (recommandation de Christophe) :

$ whereis procmail

retourne bien /usr/bin/procmail /usr/chare/man/man1/procmail.1.gz

par contre, $ grep ^mailbox_command /etc/postfix/main.cf me retourne ceci
: procmail -a "$EXTENSION" et non pas ce que Christophe a indiqué...

Bon je vais continuer à voir un peut comment faire fonctionner tout ça
définitivement.

Merci pour votre aide.

Damien

"Jacques L'helgoualc'h" a écrit dans le message de
news:
Damien Detrain a dit :

On Tue, 08 Jul 2003 18:48:31 +0200, Jacques L'helgoualc'h
wrote :


"Damien Detrain" a dit :

Voici le fichier procmail


[...]
# Fichier de log de procmail
LOGFILE=$HOME/.procmail.log


Que contient ce fichier ? rajouter dans ~/procmailrc des lignes

LOG="on arrive ici"


Oups, si je met LOG="..." je n'ai aucun fichier log créé... J'en déduis
que procmail n'est pas appelé. Mais après vérification des fichiers de
configuration je ne vois pas d'erreur. J'utilise postfix.

Une idée ?


Je ne connais pas Postfix, mais je suppose qu'il peut prendre en compte
un ~/.forward ? Apparemment, il y a un problème d'alimentation en amont.

Si ce postfix n'est pas un serveur SMTP d'entrée, on peut aussi livrer
via fetchmail, getmail, etc. en allant relever des boîtes POP externes,
et en passant directement le courrier à procmail.


Par ailleurs, on peut tester des règles procmail dans un « bac à sable »

formail -s procmail pmtest.rc < mailbox-exemples

pour éviter de perdre du courrier. Si la configuration du procmailrc est
vraiment trop pénible, une alternative est maildrop ;)

Merci.


de rien,
--
Jacques L'helgoualc'h





Avatar
Damien Detrain
par contre, $ grep ^mailbox_command /etc/postfix/main.cf me retourne ceci
: procmail -a "$EXTENSION" et non pas ce que Christophe a indiqué...



J'ai mis mailbx_command = /usr/bin/procmail -Y -a $DOMAIN dans mon fichier
main.cf et rien ne se passe.

Je te copie mon main.cf :

---------->8-------------------------------------

command_directory = /usr/sbin
daemon_directory = /usr/lib/postfix
program_directory = /usr/lib/postfix

smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
setgid_group = postdrop
biff = no

# appending .domain is the MUA's job.
append_dot_mydomain = no
myhostname = damien

append_at_myorigin=yes
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
mydestination = $myhostname, damien, localhost.localdomain, , localhost
relayhost = mail.pi.be
mynetworks = 127.0.0.0/8
#mailbox_command = formail -s procmail .procmailrc < /var/mail/nobody
#mailbox_command = procmail -a "$EXTENSION"
mailbox_command = /usr/bin/procmail -Y -a $DOMAIN
mailbox_size_limit = 0
recipient_delimiter = +
disable_dns_lookups = yes
sender_canonical_maps = btree:/etc/postfix/scanonical

--------------->8-------------------------------------------

Si au lieu de "mailbox_command = /usr/bin/procmail -Y -a $DOMAIN", je mets :
"mailbox_command = formail -s procmail .procmailrc < /var/mail/nobody" dans
le main.cf, alors là ça marche mais ça boucle à l'infini...

J'aimerais vraiment que ça marche. Je trouve ça dommage d'être ci près du
but et de planter...

Merci encore pour ton aide.

Damien


"Christophe PEREZ" a écrit dans le message de
news:
Le Thu, 10 Jul 2003 19:53:26 +0200, Damien Detrain a écrit:

j'ai effectivement un fichier procmail.log qui est créé !


Ok, donc formail et procmail sont là et fonctionnent.

Je suppose que maintenant je dois aller mettre ça dans ma config, mais
où ? :-),


Je ne crois pas non.
Il faut revoir ta config postfix à mon avis.

Pardonnez moi je suis débutant.


Ça se soigne :-))
On l'a tous eue.

par contre, $ grep ^mailbox_command /etc/postfix/main.cf me retourne
ceci


: procmail -a "$EXTENSION" et non pas ce que Christophe a indiqué...


Ben essayes de remplacer par ce que je t'ai donné, mais du coup, c'est un
peu de toute ta config postfix que je doute.
Il faudrait peut-être revoir par la.
Tu parviens à t'envoyer des mails par la commande mail ?

--
Christophe PEREZ



Avatar
Damien Detrain
Re bonjour,

Voilà, j'ai trouvé la solution mais j'aimerais savoir si vous la trouvez
correcte.

J'ai rajouté ceci dans .fetchmailrc : mda "usr/bin/procmail -Y -d %T".

Damien

"Christophe PEREZ" a écrit dans le message de
news:
Le Thu, 10 Jul 2003 19:53:26 +0200, Damien Detrain a écrit:

j'ai effectivement un fichier procmail.log qui est créé !


Ok, donc formail et procmail sont là et fonctionnent.

Je suppose que maintenant je dois aller mettre ça dans ma config, mais
où ? :-),


Je ne crois pas non.
Il faut revoir ta config postfix à mon avis.

Pardonnez moi je suis débutant.


Ça se soigne :-))
On l'a tous eue.

par contre, $ grep ^mailbox_command /etc/postfix/main.cf me retourne
ceci


: procmail -a "$EXTENSION" et non pas ce que Christophe a indiqué...


Ben essayes de remplacer par ce que je t'ai donné, mais du coup, c'est un
peu de toute ta config postfix que je doute.
Il faudrait peut-être revoir par la.
Tu parviens à t'envoyer des mails par la commande mail ?

--
Christophe PEREZ



Avatar
Nicolas LS
Voilà, j'ai trouvé la solution mais j'aimerais savoir si vous la trouvez
correcte.


Ca n'est pas la solution, mais c'est correct en attendant une meilleure
solution. La, tu court circuite postfix, c'est donc ta config postfix
qui est incorrect et qui coopère mal avec postfix...

J'ai rajouté ceci dans .fetchmailrc : mda "usr/bin/procmail -Y -d %T".


C'est en parti correct.


--
Nicolas Le Scouarnec
http://nlsn.free.fr (Slrnfr, Docs Linux/BSD, La grippe, ... )

1 2