Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 05/07/2007, à 10:08

JeansmackS

Postfix multidomaine

Bonjour à tous,

Comme vous vous en doutez certainement, j'ai un souci avec ma configuration de Postfix.

En effet, ce serveur postfix devra recevoir le courrier et le distribuer soit en local, soit à d'autres serveurs de mails, et ceci avec différents noms de domaines.

Petit exemple : je reçois un mail pour toto@local.com. Il arrive sur le serveur Postfix, et est distribué localement sur ce même serveur à l'utilisateur qui va bien. Je reçois un autre mail, mais cette fois ci pour titi@distant.com. Ce mail arrive toujours sur Postfix, mais doit être délivré à un autre serveur de mail.
Tous ces paramètres, utilisateurs et serveurs de mails sont gérés via LDAP.
C'est à dire que je souhaiterais que Postfix aille lire l'annuaire afin de savoir si l'utilisateur existe, et à quel serveur envoyer le message reçu.

J'arrive à gérer les utilisateurs, mais pas les différents serveurs de messagerie. Soit il ne route pas les mails, soit il boucle sur lui-même (mail for xxx loops back to myself).

Mes fichiers de conf :

Main.cf :

append_dot_mydomain = no
biff = no
config_directory = /etc/postfix
inet_interfaces = 185.10.10.16
local_recipient_maps = ldap:/etc/postfix/trans_local.cf
mailbox_size_limit = 0
mydestination = localhost.localdomain, localhost.localdomain, localhost
myhostname = mailbuntu.diana-ingredients.com
mynetworks = 127.0.0.0/8
myorigin = $myhostname
recipient_delimiter = +
relay_domains = $mydestination
relayhost = 185.10.10.16
smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
transport_maps = ldap:/etc/postfix/trans.cf
virtual_gid_maps = static:3000
virtual_mailbox_base = /home/vmail
virtual_mailbox_domains = diana-ingredients.com
virtual_mailbox_maps = ldap:/etc/postfix/ldap_alias.cf
virtual_transport = virtual
virtual_uid_maps = static:3000

ldap_alias.cf

server_host = 185.10.10.4
server_port = 389
search_base = o=xxx, ...
query_filter = (mail=%s)
result_attribute = mail
result_filter = %s/Maildir/
bind = yes
bind_dn = cn=xxx, ...
bind_pw = password

trans.cf

server_host = 185.10.10.4
server_port = 389
search_base = o=xxx, ...
query_filter = (mail=%s)
result_attribute = mailHost
result_filter = smtp:%s
bind = yes
bind_ = cn=xxx, ...
bind_pw = password

trans_local.cf

server_host = 185.10.10.4
server_port = 389
search_base = ou=xxx, ...
query_filter = (mail=%s)
result_attribute = mailHost
result_filter = smtp:%s
bind = yes
bind_ = cn=xxx, ...
bind_pw = password

J'ai testé différentes config, donc il se peut qu'il y ait des incohérences, je ne sais plus trop où j'en suis.

Si vous avez des questions concernant le fonctionnement du réseau, parce-que je ne sais pas si j'ai été très clair, n'hésitez pas à poser des questions.


Merci pour votre aide.

Dernière modification par JeansmackS (Le 05/07/2007, à 10:08)

Hors ligne

#2 Le 05/07/2007, à 10:23

Uggy

Re : Postfix multidomaine

Les logs ?
Comment soumettre un problème Postfix sur le forum
http://doc.ubuntu-fr.org/serveur/comment_soumettre_un_probleme_postfix_sur_le_forum

Hors ligne

#3 Le 05/07/2007, à 10:27

JeansmackS

Re : Postfix multidomaine

Oups, oublié ... roll

/var/log/mail.info

Jul  5 09:17:48 MailBuntu postfix/smtp[11797]: 69CD414683: to=<relaispam2@domaine.com>, relay=none, delay=0, status=bounced (mail for mailbuntu.diana-ingredients.com loops back to myself)
Jul  5 09:17:48 MailBuntu postfix/cleanup[11796]: 7CA2E146E9: message-id=<20070705071748.7CA2E146E9@mailbuntu.diana-ingredients.com>
Jul  5 09:17:48 MailBuntu postfix/qmgr[11790]: 7CA2E146E9: from=<>, size=2547, nrcpt=1 (queue active)
Jul  5 09:17:48 MailBuntu postfix/qmgr[11790]: 69CD414683: removed
Jul  5 09:17:48 MailBuntu postfix/smtp[11797]: 7CA2E146E9: to=<jmlaperche@domaine.com>, relay=maildiana.diana-ingredients.com[185.10.10.4], delay=0, status=sent (250 2.0.0 l657nuEV008627 Message accepted for delivery)
Jul  5 09:17:48 MailBuntu postfix/qmgr[11790]: 7CA2E146E9: removed

C'est principalement là que se situe le problème.
Sachant que relaispam2 se trouve sur le Postfix, et que jmlaperche, ses mails doivent arriver sur un autre serveur, et y arrivent.

Merci.

Dernière modification par JeansmackS (Le 05/07/2007, à 10:29)

Hors ligne

#4 Le 05/07/2007, à 10:34

Uggy

Re : Postfix multidomaine

dans le resultat ldap de transport_maps, vers quel serveur est routé les mails pour domaine.com ? Vers mailbuntu.diana-ingredients.com ? mais ca c'est ton serveur myhostname ? tu veux que ton Postfix l'envoi a ton Postfix qui l'envoi a ton postfix etc... ?

Hors ligne

#5 Le 05/07/2007, à 10:46

JeansmackS

Re : Postfix multidomaine

Oui, j'ai bien compris le problème, mais ça doit bien être possible de pouvoir recevoir des messages sur ce même serveur, non ??

Tu es obligé d'avoir un serveur qui reçoit et route les messages, et un autre qui les stocke pour les users ??

Sinon pour répondre à ta question, effectivement, le résultat LDAP renvoie la variable mailHost, c'est à dire le nom du serveur sur lequel sont hébergés les messages.

Hors ligne

#6 Le 05/07/2007, à 11:25

Uggy

Re : Postfix multidomaine

si myhostname = mailbuntu.diana-ingredients.com
et pas de ligne mydestination et pas de route en + pour mailbuntu.diana-ingredients.com
pas de relayhost
alors les mails pour toto@mailbuntu.diana-ingredients.com seront délivrés en local.

Si tu as un autre domaine toto.com
alors tu le mets dans virtual_mailbox_domains etc...
et tu mets une route dans le fichier transport du type
toto.com smtp:[1.2.3.4]
et les mails en @toto.com seront routés vers 1.2.3.4

Hors ligne

#7 Le 05/07/2007, à 11:49

JeansmackS

Re : Postfix multidomaine

Merci,

Effectivement comme ça, pas de problème, si on ne renseigne pas le relayHost, les mails sont livrés. Par contre comme je m'appuie sur LDAP, n'y aurait-il pas moyen de renseigner une exception dans le fichier transport_maps ??

Du genre 'si relayHost = mailbuntu.diana-ingredients.com alors remplacer par rien' ??


Merci pour ton aide.

Hors ligne

#8 Le 05/07/2007, à 14:11

Uggy

Re : Postfix multidomaine

J'ai pas compris wink

Hors ligne

#9 Le 05/07/2007, à 14:26

JeansmackS

Re : Postfix multidomaine

En fait ce que je voulais dire, c'est que je voudrais trouver un moyen pour ne pas tenir compte du fichier $transport_maps lorsque celui-ci est égal au host d'origine.

Je m'explique :

J'envoie un mail vers l'extérieur, OK il part, et il arrive à son destinataire.
J'envoie un mail en interne à une filiale, OK il part, et il arrive à qui de droit grâce à la variable $transport_maps qui renseigne le serveur relai.
J'envoie un mail en interne à destination de mon voisin, donc du même réseau que moi, il part mais n'arrive jamais (pour les raisons évoquées plus haut : bouclage sur lui-même), car je rappelle que je souhaiterais avoir sur le même serveur postfix qui trie les messages en arrivée, ainsi qu'un serveur IMAP qui permet de consulter les messages.

Ma question concerne ce dernier cas : est-il possible de ne pas tenir compte de la variable $transport_maps lorsque le mail arrive sur le même serveur que celui qui l'a envoyé ??


Merci pour ton aide.


J'espère avoir été plus clair. hmm

Dernière modification par JeansmackS (Le 05/07/2007, à 14:26)

Hors ligne

#10 Le 05/07/2007, à 14:54

Uggy

Re : Postfix multidomaine

Ta filiale elle a le meme nom de domaine que ton voisin ?
genre filiale@moi.com
et  voisin@moi.com ?

Hors ligne

#11 Le 05/07/2007, à 14:59

JeansmackS

Re : Postfix multidomaine

Certaines ont un nom de domaine diférent, et d'autres le même.

Bref, les deux cas sont là.


Je sais, je ne suis pas facile comme client ...

Dernière modification par JeansmackS (Le 05/07/2007, à 15:01)

Hors ligne

#12 Le 05/07/2007, à 15:03

Uggy

Re : Postfix multidomaine

moi.com dans mydestination

transport:
filiale.com  smtp:[1.2.3.4]


quand tu vas envoyer un mail a toto@filiale.com et si filiale.com est bien PAS dans mydestination (ni dans myhostname) mais dans relay_domains, alors tu n'auras pas de "loopback to myself"

Hors ligne

#13 Le 05/07/2007, à 15:10

JeansmackS

Re : Postfix multidomaine

Ca marche cette config avec des hotes virtuels ??

Hors ligne

#14 Le 05/07/2007, à 15:14

Uggy

Re : Postfix multidomaine

JeansmackS a écrit :

Ca marche cette config avec des hotes virtuels ??

au lieu de mettre dans "relay_domains" tu le met dans virtual... oui.. je vois pas pourquoi ca marcherais pas

Hors ligne

#15 Le 05/07/2007, à 15:46

JeansmackS

Re : Postfix multidomaine

En fait je pense qu'on s'est mal compris.

Avec ma config actuelle j'arrive à envoyer un mail à tout le monde à partir du moment où le serveur qui stocke le mail est différent de celui où est hébergé Postfix.

Or je n'arrive pas à envoyer un mail à toto@moi.com en passant par le server SMTP de Postfix (mail loops back to myself).

Un lien t'expliquant ce qui se passe à mon avis.

Dernière modification par JeansmackS (Le 05/07/2007, à 15:48)

Hors ligne

#16 Le 05/07/2007, à 15:57

Uggy

Re : Postfix multidomaine

C'est quoi "mailhost" ?? Utilise les noms de parametres Postfix

Hors ligne

#17 Le 05/07/2007, à 16:01

JeansmackS

Re : Postfix multidomaine

mailHost est le résultat de $transport_maps.

En fait c'est le serveur mail sur lequel sont stockés les messages de l'utilisateur concerné.

Hors ligne

#18 Le 05/07/2007, à 16:12

Uggy

Re : Postfix multidomaine

Il n'y a pas a mettre moi.com dans les resultats de transport_maps.
Seul filiale.com est necessaire.

moi.com doit etre definit dans mydestination
quand un mail arrive pour moi.com, postfix voit que c'est dans mydestination, donc il sait que c'est local.. donc il lit pas le transport, donc il essaye pas de se le relayer a luimeme donc il ne fait pas un "loopback to myself"

Je me repete mais...

Hors ligne

#19 Le 05/07/2007, à 16:45

JeansmackS

Re : Postfix multidomaine

Oui, j'ai bien compris le problème,

mais je ne peux pas enlever 'moi.com' du résultat '$transport_maps'.

Autre chose, j'utilise un domaine virtuel, j'ai donc renseigné virtual_mailbox_domains = moi.com, et j'ai supprimé la ligne mydestination.

Mais ça ne marche pas mieux ...

ce n'est pas exactement ce que tu m'as dit de faire, mais je fais avec mes contraintes.

Hors ligne

#20 Le 05/07/2007, à 16:58

Uggy

Re : Postfix multidomaine

Contraiement a ce que j'ai dit a 15:14, virtual ne remplace pas relay_domains.
car virtual est forcement local. Mais virtual remplace mydestination.

Je propose:
relay_domains = filliale.com
virtual_mailbox_domains = moi.com
transport avec
filiale.com  smtp:[1.2.3.4]


pourquoi tu ne pourrait pas enlever moi.com du transport ??

Hors ligne

#21 Le 05/07/2007, à 17:28

JeansmackS

Re : Postfix multidomaine

Uggy a écrit :

pourquoi tu ne pourrait pas enlever moi.com du transport ??

J'utilise un annuaire LDAP commun à toutes les filiales sur lequel s'appuient les serveurs de mails actuels afin de délivrer les messages au bon serveur.

Le problème restera entier tant que je ne saurais pas comment évincer la valeur de transport_maps lorsque le serveur de départ d'un mail est le même que le serveur d'arrivée ...

Hors ligne

#22 Le 05/07/2007, à 17:43

Uggy

Re : Postfix multidomaine

JeansmackS a écrit :

J'utilise un annuaire LDAP commun à toutes les filiales sur lequel s'appuient les serveurs de mails actuels afin de délivrer les messages au bon serveur.

ok dans ce cas pourquoi tu ne fais pas:
Tu fais un script que tu met en cron (genre 2 fois par jour par exemple) qui dump ton ldap..met les resulats dans un fichier..puis grep -v pour virer la ligne que tu veux pas..puis remettage au bon format...puis qui sauve en /etc/postfix/transport ...puis postmap... puis postfix reload.

Dans potfix tu mets pour transport_maps un fichier hash en dur
transport_maps = hash:/etc/postfix/transport


et voila wink

Hors ligne

#23 Le 06/07/2007, à 09:57

JeansmackS

Re : Postfix multidomaine

OK, merci pour ton aide.

Je m'attendais à une solution un peu plus propre, mais bon, si tu ne vois pas comment faire autrement, je vais essayer de me débrouiller avec ça.


Je te tiens au courant. wink

Hors ligne

#24 Le 06/07/2007, à 16:37

Uggy

Re : Postfix multidomaine

En gros tu mets une consigne dans un fichier et tu voudrait qu'elle soit pas prise en compte.. .donc pour moi la seule solution est de ne pas inclure l'entree que tu ne veux pas...

Hors ligne

#25 Le 10/07/2007, à 10:07

JeansmackS

Re : Postfix multidomaine

Salut,

Alors j'ai trouvé comment me dépatouiller avec mon pb.

J'ai suivi ce tuto permettant d'avoir plusieurs instances de Postfix sur un même serveur. Ce qui fait que j'ai un serveur SMTP entrant, et un serveur SMTP sortant, du coup plus rien ne boucle sans avoir eu besoin de modifier mon LDAP (chose primordiale).

Merci pour ton aide. big_smile

Hors ligne