OVH Cloud OVH Cloud

Invalid mail address, must be fully qualified domain

7 réponses
Avatar
AllCoKe
Bonjour,
J'ai un probl=E8me avec l'envoi de mails avec Postfix =E0 partir de la
fonction mail() de PHP.

Voil=E0 le script :
<?php
mail("test@domaine.tld","Test e-mail","Test", "Administrateur
<admin@domaine.tld>");
?>

Et j'obtiens dans les logs de Postfix :
to=3D<test@domaine.tld>, relay=3Dmx.domaine.tld.[XXX.XX.XX.XX], delay=3D3,
status=3Dbounced (host mx.domain.tld[XXX.XX.XX.XX] said: 553
<allcoke@Deb> Invalid mail address, must be fully qualified domain (in
reply to MAIL FROM command))
warning: dict_nis_init: NIS domain name not set - NIS lookups disabled

Le probl=E8me semble donc venir de ce allcoke@Deb (allcoke est un nom
d'utilisateur et Deb le nom de mon serveur), mais je ne sais o=F9 le
modifier.
Et concernant le warning, qu'est-ce donc ?

Quelqu'un saurait comment r=E9soudre ce probl=E8me ?
Merci :)

7 réponses

Avatar
Cyril Blaison
AllCoKe a écrit :

Bonjour,
J'ai un problème avec l'envoi de mails avec Postfix à partir de la
fonction mail() de PHP.

Voilà le script :
<?php
mail("","Test e-mail","Test", "Administrateur
");
?>

Et j'obtiens dans les logs de Postfix :
to=, relay=mx.domaine.tld.[XXX.XX.XX.XX], delay=3,
status=bounced (host mx.domain.tld[XXX.XX.XX.XX] said: 553
Invalid mail address, must be fully qualified domain (in
reply to MAIL FROM command))
warning: dict_nis_init: NIS domain name not set - NIS lookups disabled

Le problème semble donc venir de ce (allcoke est un nom
d'utilisateur et Deb le nom de mon serveur), mais je ne sais où le
modifier.
Et concernant le warning, qu'est-ce donc ?

Quelqu'un saurait comment résoudre ce problème ?
Merci :)






Bonjour,
Le plus simple est d'utiliser la fonction sender canonical de postfix:

1) Dans le répertoire /etc/postfix, créer un fichier "sender_canonical"
qui aura la forme suivante:
allcoke

2) Un petit "postmap /etc/postfix/sender_canonical"

3) Dans le fichier de config de postfix, ajouter la ligne suivante:
sender_canonical_maps = hash: /etc/postfix/sender_canonical

Pour le warning vérifie ta config NIS et si tu ne l'utilise pas vérifie
que ta config postfix n'y fait pas référence

En éspérant que ca aide

Cyril Blaison


--
Pensez à lire la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench

Pensez à rajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
AllCoKe
Bonjour,
J'ai bien réalisé les 3 étapes, un fichier sender_canonical.db a ét é
créé. Mais les logs retournent la même erreur concernant le


Pour ce qui est du NIS, je ne l'utilise pas (je ne sais même pas ce
que c'est) et rien n'y fait à priori référence dans mes fichiers de
configuration.
Avatar
Glennie Vignarajah
--nextPart1705898.ygA0boIZdj
Content-Type: text/plain;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

Le Tuesday 1 November 2005 09:17, Cyril Blaison(Cyril Blaison
) disait:

AllCoKe a écrit :
>Bonjour,



Bonjour,
Désolé, j'ai loupé le début du thread!

>J'ai un problème avec l'envoi de mails avec Postfix à partir de
> la fonction mail() de PHP.
>
>Voilà le script :
><?php
>mail("","Test e-mail","Test", "Administrateur
>");
>?>



Cette fonction utilise la commande 'sendmail' il me semble, et la
config se défini dans /etc/php4/apache2/php.ini

>Et j'obtiens dans les logs de Postfix :
>to=, relay=mx.domaine.tld.[XXX.XX.XX.XX],
> delay=3, status=bounced (host mx.domain.tld[XXX.XX.XX.XX] said:
> 553 Invalid mail address, must be fully qualified
> domain (in reply to MAIL FROM command))



Essayez de définir l'addresse mail de l'expéditeur soit dans :
- php.ini : 'sendmail_path=sendmail -t -i -f '.

- En PHP : Définir les entêtes lors de l'envoi ; il y a quelques
exemples sur http://www.php.net/manual/en/ref.mail.php


>warning: dict_nis_init: NIS domain name not set - NIS lookups
> disabled



Que donne "postconf | grep -i nis"? Si cette commande revoie une
réponse, c'est qu'il une définition relative à NIS dans le main.cf !
A+

--
Glennie
"La vie offre toujours deux pentes. On grimpe ou on se laisse
glisser."

--nextPart1705898.ygA0boIZdj
Content-Type: application/pgp-signature

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.2 (GNU/Linux)

iQEVAwUAQ2czyNHiioqkksXaAQIwLggAiNMi3JLzylLdM/leDRhdkKEEeGPX7mcK
8H9bOYabQtxAbg5CuXFinL+jQVrTIQ9fbl8nT/yxamOSLmb/f2un6di4h0uwOnhV
YiqfXlsJa+Px/784wXOy5QzCZmUxkDgcfUFnBEFTqxA+v0mO8rn9m9zp3mdNw6OO
X/BZOFaBUjkOZHg8CXw0jNJSVEI1qVocoQmyVgr8DWx1VIN8egZarqv2Ea04UHoI
tyZzwsM/bwFXJX49BNnV8eVN4n4FJ9KfRObOg1bnfVHeICsXU7E6SU6/7ZDULvpw
M2cKKzzOSgSltAmCEQHuvHGdhrSXggSMxGu+VPUjIXwC7dcrT6Rr3g= =4rRd
-----END PGP SIGNATURE-----

--nextPart1705898.ygA0boIZdj--


--
Pensez à lire la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench

Pensez à rajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
AllCoKe
J'utilise apache et non apache2, j'ai donc édité
/etc/php4/apache/php.ini comme vous m'avez dit mais je n'ai désormais
même plus trace dans les logs du mail que j'essaie d'envoyer, plus
rien ne part !

Mais je crois avoir trouvé d'où venait l'erreur : j'ai remplacé le
contenu de /etc/mailname qui était Deb par domaine.tld.
Le mail est désormais bien partit avec comme envoyeur, non plus
mais Cela fonctionne donc, il ne reste
plus que le problème de NIS :

postconf | grep -i nis renvoit alias_maps = hash:/etc/aliases, nis=mail .aliases
Or je ne vois rien qui mentionne cela dans mon fichier main.cf que voilà :

smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
biff = no

append_dot_mydomain = no

myhostname = domain.tld
mydomain = domain.tld
myorigin = /etc/mailname
mydestination = Deb, localhost.localdomain, localhost
relayhost =
relay_domains = domain.tld
mynetworks = 127.0.0.0/8, 192.168.0.0/24
mailbox_command = procmail -a "$EXTENSION"
mailbox_size_limit = 0
recipient_delimiter = +

virtual_alias_maps = mysql:/etc/postfix/mysql_virtual_alias_maps.cf
virtual_gid_maps = static:106
virtual_mailbox_base = /var/spool/postfix/virtual
virtual_mailbox_domains = mysql:/etc/postfix/mysql_virtual_domains_maps.c f
virtual_mailbox_limit = 51200000
virtual_mailbox_maps = mysql:/etc/postfix/mysql_virtual_mailbox_maps.cf
virtual_minimum_uid = 106
virtual_transport = virtual
virtual_uid_maps = static:106
relay_domains = proxy:mysql:/etc/postfix/mysql_relay_domains_maps.cf

smtpd_helo_required = yes
smtpd_sender_restrictions =
permit_mynetworks
reject_non_fqdn_recipient
check_policy_service inet:127.0.0.1:60000
content_filter = smtp-amavis:[127.0.0.1]:10024
sender_canonical_maps = hash:/etc/postfix/sender_canonical


Merci
Avatar
Glennie Vignarajah
--nextPart1390366.kHaKJ6J1ox
Content-Type: text/plain;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

Le Tuesday 1 November 2005 10:50, AllCoKe(AllCoKe
) disait:

Salut,

J'utilise apache et non apache2, j'ai donc édité
/etc/php4/apache/php.ini comme vous m'avez dit mais je n'ai
désormais même plus trace dans les logs du mail que j'essaie
d'envoyer, plus rien ne part !



J'ai dû faire une erreur dans la syntaxe... Désolé!


Mais je crois avoir trouvé d'où venait l'erreur : j'ai remplacé le
contenu de /etc/mailname qui était Deb par domaine.tld.
Le mail est désormais bien partit avec comme envoyeur, non plus
mais



OK!

postconf | grep -i nis renvoit alias_maps = hash:/etc/aliases,
nis=mail.aliases Or je ne vois rien qui mentionne cela dans mon
fichier main.cf que voilà :



Donc, vous utilisez la config par défaut (postconf -d|grep -i nis
doit donner la même chose!) pour les alias.

Essayez d'ajouter 'alias_maps = hash:/etc/aliases' dans le fichier
main.cf
A+
--
Glennie
"La vie offre toujours deux pentes. On grimpe ou on se laisse
glisser."

--nextPart1390366.kHaKJ6J1ox
Content-Type: application/pgp-signature

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.2 (GNU/Linux)

iQEVAwUAQ2dFa9HiioqkksXaAQLhEgf7BxbSex87vPQTyO/k4HhezmH29nfLLxPL
baNICltFW0BSqZ5Ki8PFcm3i3jSA09b0Q7JPc5TbMdlEHv8x/A9knl2UZgZmZnYp
3CcYjexPhmeNORa2u2PYN0XiFLbGLngedTOSx3J+eFvyVbnILKuw90kAZDfOqNem
lO9P5rjD4ZC/XXwXjem8fYOBKPeRILR90JMD90vzPxajxyvU7gKb2V7Mt/cy87IJ
xDaiZRXJdOUQ422KOMS5PJHWxpf8RG7+HlohOq/1u31XM5f8GEgCcWmqq3Nr1DoH
O01ZvXn/ht9D4bPBPxHWTfTNB3m9EYiOQw3L0GS2m7N/5LVwLqWDFQ= =ZvjA
-----END PGP SIGNATURE-----

--nextPart1390366.kHaKJ6J1ox--


--
Pensez à lire la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench

Pensez à rajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
AllCoKe
Tout fonctionne, merci beaucoup !
Avatar
jean-michel.caricand
Le Mardi 01 Novembre 2005 09:48, AllCoKe a écrit :
Bonjour,
J'ai bien réalisé les 3 étapes, un fichier sender_canonical.db a été
créé. Mais les logs retournent la même erreur concernant le


Pour ce qui est du NIS, je ne l'utilise pas (je ne sais même pas ce
que c'est) et rien n'y fait à priori référence dans mes fichiers de
configuration.



Bonjour,

Un nom pleinement qualifié doit contenir un point. Par exemple :
localhost n'est pas pleinement qualifié
localhost. et localhost.localdomain (par exemple) le sont

Le plus simple est donc de réécrite l'adresse de l'émetteur lors de l 'envoi.
Je travaille avec sendmail et non pas postfix, je ne sais donc pas résoud re
le problème avec ton MTA. Mais tu as une piste à suivre !

Bonne chance.