[Postfix] Pb de relay / Envoi de mail / Requête DNS (résolu)

Bonjour :slightly_smiling:

Sur un de mes serveurs d’hébergement sous Debian Etch, je rencontre un pb d’envoi de mail lorsque le destinataire a son site hébergé sur le serveur, mais pas qd il s’agit d’une adresse externe.

Je m’explique :slightly_smiling:
Le serveur héberge le site test@toto.com envoyés depuis n’importe quel client mail arrivent bien puisque ne transitant pas par le serveur.

Lorsque je me connecte au serveur et que je m’envoie un mail vers test@toto.com, voici ce que j’obtiens dans /var/log/mail.log :

Dec 4 11:45:22 serveur postfix/pickup[9926]: CEAB51C0A0: uid=0 from=<root> Dec 4 11:45:22 serveur postfix/cleanup[10131]: CEAB51C0A0: message-id=<20081204104522.CEAB51C0A0@serveur.yoplaboom.net> Dec 4 11:45:22 serveur postfix/qmgr[9927]: CEAB51C0A0: from=<root@serveur.yoplaboom.net>, size=383, nrcpt=1 (queue active) Dec 4 11:45:22 serveur postfix/virtual[10133]: CEAB51C0A0: to=<test@toto.com>, relay=virtual, delay=0.03, delays=0.02/0/0/0.01, dsn=5.1.1, status=bounced (unknown user: "test@toto.com") Dec 4 11:45:22 serveur postfix/cleanup[10131]: D34411C0A1: message-id=<20081204104522.D34411C0A1@serveur.yoplaboom.net> Dec 4 11:45:22 serveur postfix/qmgr[9927]: D34411C0A1: from=<>, size=2145, nrcpt=1 (queue active) Dec 4 11:45:22 serveur postfix/bounce[10134]: CEAB51C0A0: sender non-delivery notification: D34411C0A1 Dec 4 11:45:22 serveur postfix/qmgr[9927]: CEAB51C0A0: removed Dec 4 11:45:22 serveur postfix/local[10138]: warning: dict_nis_init: NIS domain name not set - NIS lookups disabled Dec 4 11:45:23 serveur postfix/local[10138]: D34411C0A1: to=<root@serveur.yoplaboom.net>, relay=local, delay=0.24, delays=0.03/0.07/0/0.14, dsn=2.0.0, status=sent (delivered to command: procmail -a "$EXTENSION") Dec 4 11:45:23 serveur postfix/qmgr[9927]: D34411C0A1: removed

Par contre, si j’envoie depuis le serveur un mail vers un domaine non géré par le serveur (moi@yahoo.fr), ça fonctionne :

Dec 4 11:45:52 serveur postfix/pickup[9926]: 130B31C0A0: uid=0 from=<root> Dec 4 11:45:52 serveur postfix/cleanup[10131]: 130B31C0A0: message-id=<20081204104552.130B31C0A0@serveur.yoplaboom.net> Dec 4 11:45:52 serveur postfix/qmgr[9927]: 130B31C0A0: from=<root@serveur.yoplaboom.net>, size=374, nrcpt=1 (queue active) Dec 4 11:45:54 serveur postfix/smtp[10146]: 130B31C0A0: to=<moi@yahoo.fr>, relay=spool.mail.gandi.net[217.70.184.6]:25, delay=2.3, delays=0.02/0.28/0.08/1.9, dsn=2.0.0, status=sent (250 2.0.0 Ok: queued as D5B5B2DC06B) Dec 4 11:45:54 serveur postfix/qmgr[9927]: 130B31C0A0: removed

En fait il me semble que c’est le relay qui n’est pas le bon… comme le serveur gère le domaine, il pense que le plus simple est de s’envoyer le mail localement…

Comment faire pour que le serveur fasse dans tous les cas une requête DNS externe pour savoir quel est le bon relay à utiliser ?

1 - il n’y a pas de relation entre site web hebergé et les domaines de mail
2 - tu parles de toto.fr puis ensuite de toto.com
3 - il faudrait voir les fichiers /etc/mailname et /etc/postfix/main.cf
notement les paramètres myorigin et mydestination du dernier fichier

essaye de mettre uniquement
mydestination = localhost.toto.fr, , localhost
et non pas
mydestination = toto.fr, localhost.toto.fr, ,localhost

car si toto.fr (ou toto.com) est dans mydestination, il garde les mail pour lui et ne les envoie pas au serveur smtp mentionné dans le paramètre relayhost

Autant pour moi, je me suis effectivement trompé dans le toto.fr

En fait pour être plus clair, le serveur s’appelle serveur.yoplaboom.net
www.toto.com est géré par ce serveur.

Un envoi depuis ce serveur sur moi@yahoo.fr abouti (voir log de mon premier post).

J’ai essayé de suivre ton conseil thomas.leclerc.
Mais que dois-je mettre dans ma conf ?
Ce qui suit : mydestination = localhost.serveur.yoplaboom.net, localhost ?
ou bien : mydestination = localhost.yoplaboom.net, localhost ?

Par ailleurs, est-il normal qu’un “host -t MX serveur.yoplaboom.net” ne retourne aucun résultat ?

Up :slightly_smiling:

up ??
eh, il me faut du temps pour écrire tout ça !!!

si j’ai bien compris

ton serveur s’appelle serveur.youplabom.net

ton fichier /etc/mailname doit être correctement configuré ainsi que myorigin dans /etc/postfix/main.cf car dans tes deux logs on voit from=<root@serveur.yoplaboom.net>

toujours dans /etc/postfix/main.cf, relayhost doit être bien configuré car dans le second log on voit

mais à ce même endroit dans le premier log on voit

le serveur n’a pas tenté de joindre le relayhost, donc il doit estimer que les mails à destination de test@toto.com sont pour lui.

c’est là que mydestination rentre en jeu. ce paramètre sert à dire au serveur quels mail il doit garder pour les délivrer en local. on ne parle pas du tout d’enregistrement MX car ton serveur n’est pas le serveur MX de la zone toto.com. il doit juste se contenter d’envoyer le mail au relayhost. le MX sert pour la remise des messages, pas pour l’expédition au serveur SMTP du FAI.

donc dans mydestination, dans ton cas je mettrais

en fait tout sauf du toto.com !!!

de plus vérifie dans /etc/aliases que tu n’as un alias mail fichu concernant toto.com

puis lance

newaliases /etc/init.d/postfix restart

oups !

en fait ce que je dis serait bon si dans ton message d’erreur tu avais relay=local. mais je viens de relire et c’est relay=virtual.

je m’y remets

Merci thomas.leclerc pour ton aide :slightly_smiling:
Ton second message était très clair, mais effectivement la problématique est différente :slightly_smiling:
Pour info, mon fichier /etc/aliases ne contient pas grand chose, et encore moins toto.com qui n’est qu’un site parmi d’autres hébergé sur le serveur serveur.yoplaboom.net

Au plaisir de te lire :slightly_smiling:

Edit : je sais pas si ça peut aider, mais j’utilise un système comme VHCS nommé isp-control pour gérer mes sites web hébergés. Ce script créé des virtual hosts…

tu aurais pas pu le dire plus tôt !!! et moi si j’avais mieux lu des le départ ce relay=virtual …

tu m’as embrouillé à parler de DNS, de MX, de site web … je pensais que tu avais une conf bateau mais que tu mélangeais tout … désolé.

reprenons :

si le serveur ne gère pas la messagerie des sites hébergés, tu n’as pas besoin de tous ces virtual machin dans postfix.
et la conf de postfix est alors très simple.

mais si dans ton isp-control tu lui a demandé de gérer la messagerie pour toto.com alors c’est tout à fait normal qu’il n’envoie pas les mails.
et isp-control il a pas une interface de gestion ?? ou une doc ??? ou un site web ???

http://www.isp-control.net/documentation/frequently_asked_questions/how_can_i_use_a_different_mx_for_domain_s

Arf… je ne savais pas trop comment aborder mon pb. J’ai évidemment cherché sur le forum d’ISPC, mais pas dans la doc.
Et surtout, j’ai eu du mal à cerner le pb.

En attendant ton aide m’a été très précieuse et te remercie encore pour le temps que tu as pris à m’expliquer tout ça.

:slightly_smiling:

c’est vrai que si tu avais commencé par : j’utilise isp-control qui confgure automatiqurment les virtual-hosts de apache et postfix … peut être même le dns…

c’est vrai qu’en approfondissant il y avait quand même des indices, et je me suis vautré …

mais bon, c’est toujours intéressant ,tiens nous quand même au courant …

oui si tu n’a pas de serveur mail sur cette machine (ni les DNS correspondants) pour des adresses du type toto@serveur.yoplaboom.net

par contre essaye host -t MX toto.com pour être sur q’il pointe bien sur le serveur de ton prestataire.

Salut,

je déterre ce post, car j’ai un problème similaire.
Debian Lenny 5.0
Postfix

J’ai un domaine “mondomaine.com” dont le smtp.mondomaine.com et pop.mondomaine.com sont hébergés sur un serveur Gandi (mails gérés par ce fournisseur).

Sur mon dédié Debian, j’ai installé Postfix. Quand j’envoie un mail du serveur vers une adresse externe (ex:gmail), aucun problème. Si j’envoie un mail vers info@mondomaine.com, il n’arrive pas.

var/log/mail.log me donne

Jan 25 10:54:52 stock postfix/qmgr[26863]: 77A2E5FC98: from=<www-data@mondomaine.com>, size=604, nrcpt=1 (queue active) Jan 25 10:54:52 stock postfix/virtual[27908]: 77A2E5FC98: to=<info@mondomaine.com>, relay=virtual, delay=0.29, delays=0.22/0.01/0/0.07, dsn=5.1.1, status=bounced (unknown $ Jan 25 10:54:52 stock postfix/cleanup[27906]: B1E9C5FC9A: message-id=<20110125095452.B1E9C5FC9A@mondomaine.com> Jan 25 10:54:52 stock postfix/bounce[27909]: 77A2E5FC98: sender non-delivery notification: B1E9C5FC9A Jan 25 10:54:52 stock postfix/qmgr[26863]: B1E9C5FC9A: from=<>, size=2314, nrcpt=1 (queue active) Jan 25 10:54:52 stock postfix/qmgr[26863]: 77A2E5FC98: removed Jan 25 10:54:52 stock postfix/local[27910]: warning: dict_nis_init: NIS domain name not set - NIS lookups disabled Jan 25 10:54:52 stock postfix/local[27910]: B1E9C5FC9A: to=<www-data@mondomaine.com>, relay=local, delay=0.23, delays=0.1/0/0/0.13, dsn=2.0.0, status=sent (delivered$ Jan 25 10:54:52 stock postfix/qmgr[26863]: B1E9C5FC9A: removed

Le relay=virtual n’est pas bon, ca c’est clair. Il devrait aller chercher le relay du serveur Gandi.

Quelqu’un peut-il m’aider à configurer cela correctement?

Merci d’avance !