OVH Cloud OVH Cloud

Envoyer un mail a l'exterieur de la machine avec mail()

2 réponses
Avatar
Manu
Bonjour,

Je vous soumets un problème que je n'arrive décidément pas à résoudre seul.
Sur un site, je propose aux visiteurs un formulaire assez classique (nom,
prénom, adresse, commentaires, ...).
Ce formulaire est envoyé au webmaster du site en PHP grâce à la fonction
mail().

Tout fonctionne à merveille lorsque l'adresse e-mail du webmaster se trouve
paramétré sur cette même machine.
Mais lorsque j'essai d'envoyer l'e-mail sur une adresse extérieur (par
exemple une adresse wanadoo), je n'ai pas de message d'erreur mais le mail
n'arrive jamais... (Plus de trace nul part).
Sur un autre de mes serveurs, pourtant celà ne pose pas de problème...
La machine est un serveur dédié linux avec Apache, PHP4...
Un problème dans la config ?

Toute piste est la bienvenue.
Merci.

--
Manu.

2 réponses

Avatar
Paul Delannoy
Manu a écrit:
Bonjour,

Je vous soumets un problème que je n'arrive décidément pas à résoudre seul.
Sur un site, je propose aux visiteurs un formulaire assez classique (nom,
prénom, adresse, commentaires, ...).
Ce formulaire est envoyé au webmaster du site en PHP grâce à la fonction
mail().

Tout fonctionne à merveille lorsque l'adresse e-mail du webmaster se trouve
paramétré sur cette même machine.
Mais lorsque j'essai d'envoyer l'e-mail sur une adresse extérieur (par
exemple une adresse wanadoo), je n'ai pas de message d'erreur mais le mail
n'arrive jamais... (Plus de trace nul part).


J'ai eu à résoudre ça sur un serveur où ce comportement est normal pour
des raisons de sécurité. La solution est d'ouvrir un mail sur ce serveur
au nom du xebmaster 'cible' puis d'écrire dans soin 'home directory'
un fichier nommé .forward et qui contient sa vraie adresse. (ou toute
solution équivalente pour le système de mail utilisé).
Sinon c'est surement dans la config PHP qu'il faut chercher.
J'eqça

Avatar
Nicklas
Le Tue, 20 Jul 2004 21:31:17 +0000, Manu a écrit :

Bonjour,

Je vous soumets un problème que je n'arrive décidément pas à résoudre seul.
Sur un site, je propose aux visiteurs un formulaire assez classique (nom,
prénom, adresse, commentaires, ...).
Ce formulaire est envoyé au webmaster du site en PHP grâce à la fonction
mail().

Tout fonctionne à merveille lorsque l'adresse e-mail du webmaster se trouve
paramétré sur cette même machine.
Mais lorsque j'essai d'envoyer l'e-mail sur une adresse extérieur (par
exemple une adresse wanadoo), je n'ai pas de message d'erreur mais le mail
n'arrive jamais... (Plus de trace nul part).
Sur un autre de mes serveurs, pourtant celà ne pose pas de problème...
La machine est un serveur dédié linux avec Apache, PHP4...
Un problème dans la config ?


C'est peut-être un problème au niveau de la config du serveur.

Essaie déjà de renseigner l'en-tête "Return-Path"
Return-Path:

Tu peux aussi utiliser ma lib :
http://www.progweb.com/modules/cours/consult.php?own=4&numR
http://www.progweb.com/modules/cours/php/lib01.zip

__

Nicolas