|
|
|
|
Posté par
scolopendre, le mercredi 29 mars 2006 à 11:05:28Essaie de voir si procmail peut convenir à tes besoins. Voir ce lien par exemple : http://www.tuteurs.ens.fr/internet/courrier/procmail.html |
Bonjour Denis ,
tous mes remerciements ; Mon projet est le suivant : Récupération à partir d 'une BAL Générique de mails. Redistribution de ces mails vers d'autres BAL , automatiquement . J 'ai testé la récup via evolution + script modification mais pas de possibilité de renvoi automatique. J 'ai testé via fetchmail/procmail/postfix , mais je ne peux modifier les fichiers en réception pour renvoi.(critére de selection ) J 'ai testé via fetchmail/pro cmail/sendmail ,même souci. Je teste maintenant via KMAIL.il stocke les fichiers format mbox ( que je peux modifier ) et permet l' envoi automatique. je t 'aviserai de la suite des événements |
Salut,
Avec procmail et l'outils formail qui fait partie du package procmail, tu peux réécrire des lignes d'entête (option -I de formail) le tout dans une règle de filtrage procmailrc. Si celà fait partie de ce que tu veux faire, tu devrais creuser la question. On obtient en général une aide plus précise sur les forums lorsqu'on poste un exemple illustrant ce qu'on veut faire très exactement... Là, avec tes posts, on en est toujours réduits aux suppositions. Dal |
bonjour ,
voici donc mon prob. J ' ai une BAL qui reçoit X mails ces mails , je veux les redistribuer ,de manière individuelle sur n boites différentes. donc le mail 1 vers mail-user1,le mail 2 vers mail-user2 , le mail 3 vers mail-user3 , et ainsi de suite . sachant que je n 'ai que 6 utilisateurs et donc que le mail 7 ira à la mail 1 ....... |
J'ai déjà fait un truc de ce genre:
Récupération des mails d'une boite "cacht all", puis livraison en local aux clients. Ma config: Serveur Postfix Fetchmail Serveur DNS, le tout sous une Sarge et la suite courrier (imap, pop...) De mémoire: J'utilisais "fetchmail" et son mode "multidrop" Un exemple de fichier ".fetchmailrc" avec les droits "600" dans le repertoie "/root" # Configuration created Sun Jul 25 22:48:19 2003 by fetchmailconf #defaults uidl keep set postmaster "postmaster" set no bouncemail set no spambounce set properties "" set logfile /var/log/fetchmail.log poll pop.wanadaub.fr protocol POP3 and options no dns localdomains mondomaine.net: user 'login_compte_catchall' with pass 'mot_de_passe_compte_catchall' to * here A toi de remplacer pop.wanadaub.fr, mondomaine.net, et login_compte_catchall ainsi que mot_de_passe_compte_catchall (pour ces deux derniers il faut garder les quotes). Ensuite il faut configurer postfix. Dans mon cas de figure, les "clients" ont un compte sur la machine serveur (tu pourrais fignoler en utilisant une base "ldap", ou "xsql"), compte sans shell (ou plutot un shell du genre "/bin/false", pour qu'ils ne puissent se logguer sur ma machine). Le domaine de la machine en local étant different du domaine des mails entrants . Ex: jean.denis@pollux.net (addresse que je donne sur le net) correspond au compte jdenis@pollux.fra en local. karl.malaune@pollux.net à kmalaune@pollux.fra Il faut modifier (ou le créer) pour que cela marche: /etc/postfix/canonical, pour que lors de d'envoie d'un mail vers l'internet, posfix remplace (par exemple) kmalaune@pollux.fra par karl.malaune@pollux.net jdenis jean.denis@pollux.net kmalaune karl.malaune@pollux.net En inverse il faut faire correspondre les adresse externes aux adresses internes, et c'est le role de /etc/postfix/virtual jean.denis@pollux.net jdenis karl.malaune@pollux.net kmalaune Aprés il est bien qu'un mail envoyé pour une personne en interne ne vas pas sur l'internet pour retourner (bon c vrai que maintenant avec les connections haut debits ...), par exemple quand Denis envoie un mail à Karl C'est le role de /etc/postfix/transport jean.denis@pollux.net local: karl.malaune@pollux.net local: Ne pas oublier à chaque modif de ces fichiers de faire un "postmap /etc/postfix/canonical; /et c/postfix/virtual .....) Ensuite il faut dire à postfix d'utiliser ces fichiers en modifiant /etc/postfix/main.cf, qui doit contenir (entre autres): sender_canonical_maps = hash:/etc/postfix/canonical virtual_maps = hash:/etc/postfix/virtual transport_maps = hash:/etc/postfix/transport Bon c'est juste une petite idée, qui n'est sans doute pas ce qui fait de mieux, mais en tous cas j'ai vu marché et ça depanne bien ... |
Salut,
La fonctionnalité multidrop de fetchmail va permettre la distribution des e-mails provenant d'une même boite pop sur des comptes locaux différents pourvu que ceux-ci puissent être identifiés comme tu l'indiques (c'est à dire que les destinataires soient différents dans les champs To: Cc: ou Bcc:). Bien que "scolopendre" n'ait pas été très clair, je me demande s'il ne veut pas dire que tous les e-mails arrivant sur une même boite sont également destinés à la même adresse e-mail, et qu'ils doivent être répartis entre 6 personnes, chacune d'elle recevant un e-mail à tour de rôle. Dal |
Merci DAL ,c 'est effectivement ce que pense.
Pour Moi , un BAL ne peut avoir qu'une seule adresse donc par voie de conséquence qu' un seul user. donc je précise : 1 bal d 'un utilisateur en réception.cette BAL doit être redirigée vers la BAL d'un utilisateur parmi 6 autres . donc pas de possibilité de tri par les champs habituels. Solution envisagée : incrementation d 'un compteur et modulo sur ce compteur pour redistribution . |
Salut,
Tu devrais pouvoir accomplir celà avec procmail en utilisant une variable dans procmailrc (qui devient aussi de ce fait une variable système, donc dont le contenu est conservé d'un filtrage à un autre). Je pense que la variable devrait pouvoir être incrémentée par procmail (avec un truc du style N=`expr $N + 1`) et testée par procmail comme toute autre condition. Dal |
Re,
En fait c'est un peu plus compliqué, car Procmail n'exporte les variables créées que dans le cadre d'une exécution donnée (de son propre processus). Pour conserver la valeur une fois le processus procmail terminé, je pense qu'il faut la stocker dans un fichier. $ cd $HOME/mail $ echo "1" > cpt.txt $ cd .. $ cat .procmailrc VERBOSE=yes
LOGABSTRACT=all
MAILDIR=$HOME/mail
PMDIR=$MAILDIR
LOGFILE=$PMDIR/logs
CPTFILE=$MAILDIR/cpt.txt
:0
{
:0
{
# Recuperation du compteur
CPT=`cat ${CPTFILE}`
# Incrementation de la valeur a stocker
NEXTCPT=`expr ${CPT} + 1`
# Stockage
RIEN=`echo ${NEXTCPT} > ${CPTFILE}`
}
# Tests
:0:
* CPT ?? 1
matches1
:0:
* CPT ?? 2
matches2
:0:
* CPT ?? 3
matches3
:0:
* CPT ?? 4
matches4
:0:
* CPT ?? 5
matches5
:0:
* CPT ?? 6
{
:0c
RIEN=`echo "1" > ${CPTFILE}`
:0:
matches6
}
}
:0
default
C'est un procmailrc de test qui marche chez moi. Les e-mails sont répartis en 6 boites mails unix dans $MAILDIR ("default" est là pour attraper ce qui reste, mais rien ne devrait arriver là). Pour forwarder à un autre user au lieu de copier dans le compte, tu changes simplement les tests : :0: * CPT ?? 1 matches1 par :0 * CPT ?? 1 ! user1 ... et ainsi de suite. Procmail est assez complexe (et je suis loin d'être expert), alors, il y a peut être moyen de faire mieux, mais c'est ce qui m'est venu à l'esprit :) Si quelque chose te semble clocher, regarde les logs. Teste le en ligne de commande avec un fichier comportant un e-mail de test bidon, avant de le mettre en réel, la ligne de commande ressemblera à çà : procmail /home/toto/testprocmailrc < test-mail.txt Dal |
Bonjour DAL,
Maintenant j 'ai un souci de renvoi sur les BAL des utilisateurs. Par Fetchmail , je récupére la BAL qui m'intéresse.( titi@toto.tutu.fr) Par Procmail , et le filtrage , j' adresse bien les divers utilisateurs avec le compteur. Les messages sont stockés sous /var/spool/mail/.(U1,U2,U3,U4,U5) Mais je n'arrive pas à renvoyer ces mails sur des adresses extérieures par postfix bien que j'ai modifié le fichier canonical de la facon suivante: U1 U1@toto.tutu.fr U2 U2@toto.tutu.fr U3 U3@toto.tutu.fr U4 U4@toto.tutu.fr U5 U5@toto.tutu.fr |
Merci de ton feed-back.
Celà me semble plutôt être un boulot pour procmail, que tu l'utilises déjà... Au lieu de faire un forward aux utilisateurs locaux avec procmail en faisant ! user1 pourquoi n'utilises-tu pas procmail pour réadresser directement les e-mails aux adresses en question ? ! U1@toto.tutu.fr Tu peux même combiner les deux en mettant des accolades si tu veux faire les deux et en faisant une copie du message (il est possible que celà marche aussi sans accolades ni copie, mais avec une virgule entre les deux adresses sur une même ligne, mais je n'en suis pas sûr... à tester). Dal |
C 'est OK ...
effectivement en remplaçant les valeurs ! toto par les adresses mails c 'est OK. donc Fetchmail pour récupérer à partir d 'une BAL; procmail pour rediriger ; et postfix avec les modifs de bases ( pas de fichiers canonical à modifier ) et c'est top Merci pour tes conseils Maintenant je vais fignoler. @+ Scolopendre |
| 07/02 23h57 | Equivalences logicielles pour GNU/Linux | Logiciel libre |
| 27/12 01h17 | [KDE] Les applications KDE | KDE |
| 10/11 14h53 | [Free] Activer le filtre anti-spam | Free |
| 19/07 23h23 | [Messagerie] Pirater une boite mail ? Facile ! | Messagerie électronique |
| 23/02 01h09 | Création d'un Compte de Messagerie POP3 dans Outlook 2003 | Messagerie électronique |
| 10/04 09h20 | Création 2 adresse mail | 3 |
| 10/01 22h05 | Creation adresse e-mail | 9 |
| 12/04 00h01 | Messagerie windows mail sous vista | 104 |
| 21/03 17h43 | Creer un serveur mail interne type webmail? | 25 |
![]() | ActiveVirusShield - Active Virus Shield n'est plus, remplacé par McAfee® VirusScan Plus – Special edition de chez AOL Vous devez créer un... | Catégorie: Antivirus Licence: Freeware/gratuit |
![]() | PDF Creator - PDF Creator est un outil gratuit permettant de créer des PDF à partir de presque n'importe quelle application capable... | Catégorie: PDF Licence: Open Source |
![]() | AVS Disc Creator - Avec AVS DiscCreator vous pouvez rapidement graver vos données sur CD/DVD et Blu-ray disc. <h2>Fonctionnalités</h2> ... | Catégorie: Gravure Licence: Freeware/gratuit |
![]() | LC ISO Creator - LC ISO Creator est très simple: Il permet de créer un fichier .ISO à partir de vos CD. Cela vous permet ensuite... | Catégorie: Gravure Licence: Freeware/gratuit |
![]() | Creative Zen 4 Go | Catégorie: Lecteur MP3 | 77.90 € Pixmania |
![]() | Creative SoundBlaster X-Fi XtremeAudio | Catégorie: Carte son | 35.90 € Cdiscount |
![]() | Creative Sound Blaster Audigy | Catégorie: Carte son | 21.90 € Grosbill.com |
![]() | Creative Sound Blaster X-Fi | Catégorie: Carte son | 233.50 € Cdiscount |