Rechercher : dans
Par :

Problème fetchmail postfix et procmail

Dernière réponse le 14 oct 2005 à 16:58:43 bambouls, le 12 oct 2005 à 08:38:27 
 Signaler ce message aux modérateurs

Bonjour,

Je rencontre des problèmes de doublons avec mes mails.
Config : Bal wanadoo partagé pour 4 users + 1 générique (contact)
Logiciels utilisés : fetchmail, postfix et procmail.
fetchmail ramene bien les mails des 5 comptes wanadoo sur le serveur.
40 users utilisent le serveur de mail en interne avec une adresse externe générique de type contact@nomdedomaine.fr qui arrive chez tout les users.

Mon problème est :
- lorsque j'envoie un mail en local a une personne qui n'a pas de boite mail externe (wanadoo partagé) tout marche.
- lorsque j'envoie un mail de l'exterieur a une personne qui a une boite mail externe (wanadoo partagé) tout marche.
par contre
- lorsque j'envoie un mail a deux personnes qui ont des boites mail externe , les deux personnes reçoivent le même mail deux fois ! ( ou 3 pers >> 3 mails,etc...)

Comment faire pour éviter tous ces doublons ?

Petit extrait de mon procmailrc :


#user1
#----- boite interne uniquement
:0c
* ^(To|Cc):.*contact*
/var/spool/mail/user1
#
#
#User2
#------boite mail externe partagée
:0c
* ^(To|Cc):.*user2*|^(To|Cc):.*contact*
/var/spool/mail/user1
#

... et ainsi de suite pour mes 40 users


les 40 users sont présent dans procmailrc afin de rediriger contact vers chacun d'eux, et le problème ne se pose qu'aux personnes ayant des boites mail externe partagés.

Si je supprime les utilisateurs qui ont des boites externe partagé dans le procmailrc, les mails externe ne leur parviennent plus et reste dans le dossier defini dans fetchmail.

Si quelqu'un arrive a me comprendre et connait la solutions, merci d'avance !
Je nage j'ai testé plein de config différentes et rien ne solutionne le problème.
Au secours

1

Bob, le 12 oct 2005 à 09:00:00

Salut Bambouls

Ton pb m'interresse, mais j'aurais aimé que tu précises : "- lorsque j'envoie un mail a deux personnes qui ont des boites mail externe". Depuis l'extérieur ou en local ?

A bientot

Répondre à Bob

2

Bob, le 12 oct 2005 à 09:18:50

Autres questions:

Si je comprend bien les 4 users avec bal externe reçoivent aussi les messages pour contact?

Quand tu dis wanadoo, est ce que les courriers reçus sont destinées normalement à par exemple user1@wanadoo.fr ..., et ensuite tu refais une redirection vers les users concernés en interne en une adresse user1@mondomain.fr??

Répondre à Bob

3

bambouls, le 12 oct 2005 à 10:02:10

Effectivement les 4 users reçoivent aussi contact.
Ensuite les mail de user1, user2, user3, user4 (et aussi contact) sont du type user1@mondomaine.com et arrive tous sur une seule boite wanadoo.
Ensuite fetchmail les rapatrie tous sous /var/spool/mail/wanadoo, et procmail les redistribue

procmailrc :
#User2
#------boite mail externe partagée
:0c
* ^(To|Cc):.*user2*|^(To|Cc):.*contact*
/var/spool/mail/user2
#

Répondre à bambouls

5

Bob, le 12 oct 2005 à 10:32:49

Bon moi j'aurais essayé:

dans main.cf mettre mydomain = mondomaine.com

Créer mes users sur mon serveur, (user1, user2 ....) + contact.

Dans /etc/aliases :
contact user1, user2 ....
loginadresseext user1
loginadressest2 user2

dans /etc/postifix/transport:

user1@mondomaine.com local:
(etc pour tous les users, afin que lors d'un envoi d'un message en interne, le mail ne part pas en externe pour revenir ensuite)

Modifier aussi la table cannonical, si besoin est pour faire correspondre une adresse interne à une adresse externe en sortie.

Et le fetchmail rapatrier le courrier contact@mondomaine.com pour l'utilisateur contact en interne, et l'alias ferai ensuite l'envoi vers tous les users, et faire rapatrier aussi le courrier pour les bal externe individuellement vers les comptes internes...

Répondre à Bob

6

bambouls, le 12 oct 2005 à 12:41:33

>> "Et le fetchmail rapatrier le courrier contact@mondomaine.com pour l'utilisateur contact en interne, et l'alias ferai ensuite l'envoi vers tous les users, et faire rapatrier aussi le courrier pour les bal externe individuellement vers les comptes internes..."

Le problème c'est qu'il n'y a qu'une seule boite mail pour les 5 users (user1, ..., user4, contact) géré par des alias.

Si fetchmail va chercher les mails de cette boite et les rapatrie vers user1 celui ci aura les mails de tout le monde. J'ai donc créer un compte wanadoo (/var/spool/mail/wanadoo/) sur le serveur ou fetchmail rapatrie tous les mails de la boite partagé.(Je n'ai qu'un login wanadoo pour toutes les 5 boites)

J'ai essayé de créer les alias dans postfix mais les mails externes ne sont pas redistribué dans toutes les boites internes.

J'ai donc abandonné les alias et me suis tourné vers procmail.

Petite précision lorsque j'envoie un mail en interne a user1 il le reçoit deux fois, car a mon avis postfix le distribue 1 fois et procmail le distribue une deuxième fois du fait de la présence de son adresse dans promailrc.

#user1
:0c
* ^(To|Cc):.*user1*|^(To|Cc):.*contact*
/var/spool/mail/user1
#

or si je laisse ça :

#user1
:0c
* ^(To|Cc):.*contact*
/var/spool/mail/user1
#

le mail n'est reçu q'une fois en interne et il n'y a plus de problème de doublon, par contre les mail externe ne lui parviennent pas et reste dans le repertoire /var/spool/mail/wanadoo

Je ne sais plus quoi faire !!

Répondre à bambouls

7

Bob, le 12 oct 2005 à 14:34:36

BOB, ne perd pas espoir!

meme si dans la meme boite mail tu reçois, user1@mondomaine.com, ..., user4@mondomaine.com, contact@mondomaine.com, que se soit par procmail, et meme fetchmail (mode multidrop) on doit pouvoir le faire....

1: Fetchmail en multidrop:

poll pop.laoujerecupèremonmail protocol POP3 and options no dns localdomains mondomaine.com:
user 'loginducompte' with pass 'passwordducompte' to * here

En gros cela voudrait dire, recupere tout mes messages chez pop.laou..., pour mondomaine.com ... et distribue le a chaque utilisateur
Et si sur ton serveur local, en alias ou non, le compte user1, user2, existe (voir post plus haut) ça devrait marcher.

En procmail, si ton filtre est bon, il faudrait mettre:
Si user1 > mettre dans bal user1
.
.
Si user4 > mettre dans bal user40
Si contact > mettre dans contact@mondomaine.com (et non pas dans la boite au lettre). Donc si tu as bien mis dans /etc/aliases contact user1, user2, ..., user40 Tous tes users recevront le meme message.

Répondre à Bob

8

cédric, le 12 oct 2005 à 16:39:11

Si je renvoie contact à contact@monnomdedomaine.com dans mon fichier procmailrc, j'ai plein de message d'erreur qui me disent qu'il y a une erreur de boucle (loop) et les boites se remplissent indéfiniment.

Je suis donc passé a l'autre solution :

J'ai essayé en mode multidrop mais les mails ne se posent pas dans les boites utilisateurs (je ne sais pas ou il vont d'ailleurs !)
peut etre un problème de config du fetchmailrc

Donc si j'ai bien compris si j'utilise le mode multidrop de fetchmail et des alias de postfix, je ne suis pas obligé de me servir de procmail ?

peux tu m'aider sur mon fichier fetchmailrc pour la config du multidrop ?

merci pour tout ces conseils je sens que ça va mieux

Répondre à cédric

9

cedric, le 12 oct 2005 à 17:31:55

J'ai l'impression que ça marche enfin !

Je ferais plus de test demain.
A priori l'erreur de mon fetchmailrc était mondomaine.com alors que je suis en .fr
Erreur surement du a la fatigue !
Quoiqu'il en soit merci bob je te tiens quand même au courant demain !

Répondre à cedric

11

bambouls, le 13 oct 2005 à 09:08:00

Bonjour,

Je suis donc passé avec cette configuration :
Fetchmail en multidrop et gestion des alias par postfix
par contre je n'ai plus rien dans procmailrc.

Dans ce cas mes problèmes de doublons en interne on disparu !
Mais lorsque j'envoi un mail de l'exterieur à user1 user2 et user3,
les 3 reçoivent 3 fois le mail !

Si quelqu'un a une solution je prends, merci d'avance !

Répondre à bambouls

12

bambouls, le 13 oct 2005 à 09:47:25

Je pense savoir pourquoi :

Si on envoi un mail a user1, user2 et user3 de l'exterieur, sur la boite wanadoo il y a 3 fois le même mail.

Fetchmail les rapatrie un par un et regarde l'entête pour les redistribuer dans chaque compte utilisateur.

Comme dans l'entête il y a les 3 user sur chaque mail, quand il recupère le premier mail il recupère le mail pour les 3 users, de même pour le deuxième mail et le troisième.

Comment faire pour éviter ça ?

Si vous avez des propositions...

Répondre à bambouls

13

bambouls, le 13 oct 2005 à 10:43:01

Après avoir fait quelques tests supplémentaires,

le problème est différent :

Lorsque j'envoie un mail de l'exterieur à user1, user2 et user3 qui sont sur la même boite partagé wanadoo il n'y a pas de problème de doublons.

mais lorsque j'envoie un mail de l'extérieur à user1, user12 (qui est sur une autre boite partagé wanadoo), c'est là qu'il y a le problème de doublon.

Fetcmail va chercher les mail sur le même serveur pop mais avec 2 login différents (puisque 2 boites différentes).

Si quelqu'un a la solution pour éviter le problème.

Peut être un problème de paramètre dans fetchmailrc...

Répondre à bambouls

4

bambouls, le 12 oct 2005 à 10:10:35

Salut Bob

"Ton pb m'interresse, mais j'aurais aimé que tu précises : "- lorsque j'envoie un mail a deux personnes qui ont des boites mail externe". Depuis l'extérieur ou en local ? "

Quand j'envoie de l'extérieur, les deux destinataires reçoivent 2 fois le mail et en local ils le reçoivent 3 fois (pour 2 destinataires.) (4 fois pour 3 destinataires)

Merci de tout intérêt !

Répondre à bambouls

10

kinder.surprise, le 12 oct 2005 à 18:24:45

Argh, ça vient du .procmailrc, j'ai été confronté au même problème sans jamais réussir à trouver la bonne syntaxe (et pourtant ça doit être élémentaire)

en fin de compte j'ai clos la question en utilisant dans mon .procmailrc une expression sur X-Original-To au lieu de To ou Cc ou Bcc

c'est sûrement pas grand chose, zut
gnagnagna

Répondre à kinder.surprise

14

bambouls, le 13 oct 2005 à 10:43:48

Après avoir fait quelques tests supplémentaires,

le problème est différent :

Lorsque j'envoie un mail de l'exterieur à user1, user2 et user3 qui sont sur la même boite partagé wanadoo il n'y a pas de problème de doublons.

mais lorsque j'envoie un mail de l'extérieur à user1, user12 (qui est sur une autre boite partagé wanadoo), c'est là qu'il y a le problème de doublon.

Fetcmail va chercher les mail sur le même serveur pop mais avec 2 login différents (puisque 2 boites différentes).

Si quelqu'un a la solution pour éviter le problème.

Peut être un problème de paramètre dans fetchmailrc...

Répondre à bambouls

15

bambouls, le 14 oct 2005 à 15:42:10

Je rame je rame ...

Personne à une idée du petit truc qui fait que ...

Merci

Répondre à bambouls

16

 kinder.surprise, le 14 oct 2005 à 16:58:43

Je t'avoue que personnellement la lenteur de fetchmail m'a tant exaspéré que je suis passé à retchmail qui est une vraie fusée en comparaison. Du coup je ne connais que très peu fetchmail et je ne saurais pas diagnostiquer quoi que ce soit de précis.

quelqu'un ayant expérimenté le problème finira bien par passer
gnagnagna

Répondre à kinder.surprise
Collection CommentÇaMarche.net