Creation Messagerie / redistribution de mail
Résolu/Fermé
A voir également:
- Creation Messagerie / redistribution de mail
- Yahoo mail - Accueil - Mail
- Hotmail messagerie - Guide
- Publipostage mail - Accueil - Word
- Creation compte gmail - Guide
- Creation adresse mail rapide - Guide
12 réponses
Essaie de voir si procmail peut convenir à tes besoins. Voir ce lien par exemple : https://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
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
[Dal]
Messages postés
6194
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
11 octobre 2024
1 092
5 avril 2006 à 14:36
5 avril 2006 à 14:36
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
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 .......
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 .......
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
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"
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
En inverse il faut faire correspondre les adresse externes aux adresses internes, et c'est le role de /etc/postfix/virtual
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
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):
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 ...
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 ...
[Dal]
Messages postés
6194
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
11 octobre 2024
1 092
6 avril 2006 à 15:49
6 avril 2006 à 15:49
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
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 .
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 .
[Dal]
Messages postés
6194
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
11 octobre 2024
1 092
10 avril 2006 à 17:34
10 avril 2006 à 17:34
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
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
[Dal]
Messages postés
6194
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
11 octobre 2024
1 092
12 avril 2006 à 15:50
12 avril 2006 à 15:50
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
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 :
par
... 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
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
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
[Dal]
Messages postés
6194
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
11 octobre 2024
1 092
21 avril 2006 à 17:27
21 avril 2006 à 17:27
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
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
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