Postfix satellite

J’ai installé postfix sur un ordinateur connecté à internet via une box, en suivant ce tuto.

J’ai spécifié un relayhost (smtp.free.fr), mais l’envoi de courrier ne fonctionne qu’en local :
les utilisateurs locaux reçoivent leurs courriels, mais si j’en adresse un à une adresse extérieure, j’obtiens ceci :Final-Recipient: rfc822; pathe@free.fr Action: failed Status: 5.1.1 Diagnostic-Code: X-Postfix; unknown user: "pathe"Je ne pige absolument pas comment me sortir de cette impasse. À l’aide !

Salut,
Commence pas regarder dans les logs:

[quote]/var/log/mail.info
/var/log/mail.warn
/var/log/mail.err[/quote]

Si j’envoie un courriel à un utilisateur local, j’obtiens ceci :# tail -f /var/log/mail.info Nov 2 11:31:26 libellule postfix/pickup[5813]: 566D63A0707: uid=1000 from=<patrick> Nov 2 11:31:26 libellule postfix/cleanup[6638]: 566D63A0707: message-id=<20121102103126.566D63A0707@libellule> Nov 2 11:31:26 libellule postfix/qmgr[3126]: 566D63A0707: from=<patrick@free.fr>, size=288, nrcpt=1 (queue active) Nov 2 11:31:26 libellule postfix/local[6640]: 566D63A0707: to=<patrick@free.fr>, orig_to=<patrick>, relay=local, delay=0.49, delays=0.32/0.07/0/0.09, dsn=2.0.0, status=sent (delivered to command: procmail -a "$EXTENSION") Nov 2 11:31:26 libellule postfix/qmgr[3126]: 566D63A0707: removedDans l’affaire, il mentionne une adresse patrick@free.fr dont la provenance m’échappe : Patrick est bien mon nom d’utilisateur, mais quid de free.fr ?

Si j’envoie un courriel à une adresse électronique, j’obtiens ceci :# tail -f /var/log/mail.info Nov 2 11:54:50 libellule postfix/pickup[5813]: 5453C3A0707: uid=1000 from=<patrick> Nov 2 11:54:50 libellule postfix/cleanup[7159]: 5453C3A0707: message-id=<20121102105450.5453C3A0707@libellule> Nov 2 11:54:50 libellule postfix/qmgr[3126]: 5453C3A0707: from=<patrick@free.fr>, size=286, nrcpt=1 (queue active) Nov 2 11:54:50 libellule postfix/local[7161]: 5453C3A0707: to=<pathe@free.fr>, relay=local, delay=0.48, delays=0.33/0.01/0/0.14, dsn=5.1.1, status=bounced (unknown user: "pathe") Nov 2 11:54:50 libellule postfix/cleanup[7159]: C596A3A0708: message-id=<20121102105450.C596A3A0708@libellule> Nov 2 11:54:50 libellule postfix/bounce[7162]: 5453C3A0707: sender non-delivery notification: C596A3A0708 Nov 2 11:54:51 libellule postfix/qmgr[3126]: C596A3A0708: from=<>, size=1920, nrcpt=1 (queue active) Nov 2 11:54:51 libellule postfix/local[7161]: C596A3A0708: to=<patrick@free.fr>, relay=local, delay=0.48, delays=0.34/0/0/0.13, dsn=2.0.0, status=sent (delivered to command: procmail -a "$EXTENSION") Nov 2 11:54:51 libellule postfix/qmgr[3126]: 5453C3A0707: removed Nov 2 11:54:51 libellule postfix/qmgr[3126]: C596A3A0708: removedEt la notification qui m’est adressée contient les lignes fatales :Final-Recipient: rfc822; pathe@free.fr Action: failed Status: 5.1.1 Diagnostic-Code: X-Postfix; unknown user: "pathe"Aïe !

Mauvaise config de postfix.

Il recherche l’utilisateur “pathe” sur ta machine locale (“relay=local”) et non à l’extérieur, et comme l’utilisateur n’existe pas, tu reçois le message d’erreur correspondant.

[quote=“agentsteel”]Mauvaise config de postfix.[/quote]Chachéchur, comme dirait Rolvaag.

[quote=“agentsteel”]Il recherche l’utilisateur “pathe” sur ta machine locale (“relay=local”) et non à l’extérieur, et comme l’utilisateur n’existe pas, tu reçois le message d’erreur correspondant.[/quote]Certes. Mais comment faire pour lui indiquer que l’utilisateur en question est à l’extérieur ?

que retourne postconf -n (à taper en root) ?

Perso je fais comme ceci.

Primordial: s’assurer que la machine possède un /etc/hostname et (surtout) /etc/mailname valide

(par exemple, si box adsl avec ip dynamique, avec un compte chez dyndns.org)
ex. moi.dyndns.org

apt-get install postfix

(on répond gentiment aux questions de l’assistant)

systeme satellite
nom de courrier : moi.dyndns.org
serveur relais :

puis tester l’envoi de mail

apt-get install bsd-mailx

echo “coucou” |mail -s ‘de la part de mon serveur Debian’ addresse@exterieure.com

(en local)

echo “coucou” |mail -s ‘de la part de mon serveur Debian’ user

et vérifier

tail /var/log/mail.log

[quote=“fluo”]que retourne postconf -n ?[/quote]Voici le résultat :# postconf -n alias_database = hash:/etc/aliases alias_maps = hash:/etc/aliases append_dot_mydomain = no biff = no config_directory = /etc/postfix inet_interfaces = loopback-only inet_protocols = all mailbox_command = procmail -a "$EXTENSION" mailbox_size_limit = 0 mydestination = libellule, free.fr, localhost.localdomain, localhost myhostname = libellule mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 myorigin = /etc/mailname readme_directory = no recipient_delimiter = + relayhost = smtp.free.fr:587 smtp_generic_maps = hash:/etc/postfix/generic smtp_sasl_auth_enable = yes smtp_sasl_password_maps = hash:/etc/postfix/sasl/sasl_passwd smtp_sasl_security_options = noanonymous smtp_tls_CAfile = /etc/ssl/certs/ca-certificates.crt smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU) smtpd_enforce_tls = yes smtpd_tls_cert_file = /etc/ssl/certs/ssl-cert-snakeoil.pem smtpd_tls_key_file = /etc/ssl/private/ssl-cert-snakeoil.key smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache smtpd_use_tls = yes

[quote=“agentsteel”]Primordial: s’assurer que la machine possède un /etc/hostname et (surtout) /etc/mailname valide[/quote]Tout est dans le terme « valide », je le crains.
Je n’ai jamais compris ces histoires de hostname et mailname.
Ma machine s’appelle libellule :[code]# cat /etc/hostname
libellule

cat /etc/mailname

free.fr[/code]Est-ce valide ou non, je n’en sais rien.
mais j’ai appelé ma machine de la sorte parce que je ne voyais pas pour quelle raison j’aurais dû l’appeler libellule.free.fr, d’autant que je ne possède pas l’adresse libellule@free.fr .

...
mydestination = libellule, free.fr, localhost.localdomain, localhost
...

Si tu met free.fr dans mydestination, postfix considère que toutes les adresses de destination (et d’expédition) se terminant par free.fr appartiennent aux utilisateurs locaux. Tu ne peux pas te permettre de mettre free.fr dans mydestinataion parce que qu’il n’y a aucun pointage dns de free.fr vers ton serveur mail.

/etc/mailname doit avoir le même contenu que /etc/hostname, càd libellule, c’est plus propre.

[quote=“fluo”]Si tu mets free.fr dans mydestination, postfix considère que toutes les adresses de destination (et d’expédition) se terminant par free.fr appartiennent aux utilisateurs locaux. Tu ne peux pas te permettre de mettre free.fr dans mydestination parce que qu’il n’y a aucun pointage dns de free.fr vers ton serveur mail.[/quote]C’est limpide… et ça fonctionne ! Merci.

Résolu ? Coche verte =>