Probleme fonction mail en PHP 5

Le
Pascale
Bonjour,

Notre hébergeur nous a informés qu'on allait migrer de PHP 4.4.4 à PHP
5.2.0.
Il a mis à notre disposition la possiblité de tester le fonctionnement de
nos sites. Et il y a un truc qui coince, c'est la fonction mail qui ne
marche plus du tout.
Par exemple un code du genre :

*********************************
$sujet="Mon beau sujet";
$texte="Mon beau texte";
$identite="Ma belle identité";
$adresse="Ma belle adresse";
$dest="Mon destinataire beau ou pas";

$message="Message envoyé par le formulaire de mon beau site, de la part de
".$identite." (adresse courriel : ".$adresse."), visiteur non inscrit de
mon beau site :".$texte;

$from="From: adr@mondomaine.netReply-To: ".$adresse."Return-Path:
postmaster@mondomaine.net";

mail($dest,$sujet,$message,$from);
*********************************

Cela SEMBLE fonctionner (aucune erreur n'est signalée, mon programme dit
que le message a été envoyé normalement), mais aucun message n'arrive. Cela
se produit pour TOUTES les utilisations de la fonction mail, pour tous nos
sites. Actuellement, tout fonctionne bien, mais pour pas longtemps

Notre hébergeur nous dit que le safe_mode est activé par défaut et qu'il
faut vérifier que «  vos appels à la fonction mail sont compatible avec
l'utilisation du safe_mode. Vous ne pouvez pas par exemple utiliser le 5eme
paramètre 'additional_parameters ».

Moi je veux bien, mais le safe_mode est déjà activé actuellement sur tous
nos sites et euh comment vous dites ? additionnal_parameters ?
Dans le doute, j'ai tenté de simplifier le programme ci-dessus en
remplaçant :

$from="From: adr@mondomaine.netReply-To: ".$adresse."Return-Path:
postmaster@mondomaine.net";
par :
$from="From: adr@mondomaine.net";

Ça ne marche pas mieux. Si quelqu'un peut m'aider, je lui en saurai gré

--
Pascale
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Sylvain SF
Le #4969341
Pascale wrote on 18/04/2008 18:37:

$dest="Mon destinataire beau ou pas";


le 1er paramètre est censé être une adresse valide.
ce texte vaut pour un exemple qui ne dit pas ce qu'il fait ?

$message="...";

$from="From: : ".$adresse."nReturn-Path:
";


ces headers sont très léger, il faudrait plutôt:

$headers "From: ".
"Reply-To: $adressen".
"Return-path: ".
"MIME-Version: 1.0n".
"Content-Type:text/html;charset=iso-8859-1[5]n".
"Content-Transfer-Encoding: 8bitnn";


Cela SEMBLE fonctionner (aucune erreur n'est signalée, mon programme dit
que le message a été envoyé normalement), mais aucun message n'arrive.


est-ce que seulement le msg part ?
quel smtp est configuré dans php.ini ? est-il valide ?
avez-vous regardé les logs du MTA ?

mail() n'a pas été modifié entre php 4 et 5, s'il ne marche pas c'est
que php ou globalement les services mails sont configurés différemment.

Sylvain.

Pascale
Le #5156621
"Sylvain SF" news:4808fc36$0$862$:

Bien sûr : j'ai mis partout des paramètres fantaisistes pour l'exemple,
mais « en vrai » ce sont des variables tout à fait cohérentes.

Je n'ai peut-être pas été assez précise quand j'ai parlé d'environnement de
test. En fait, pour une adresse du style : http://www.adressedemonsite.org
l'hébergeur nous propose de tester le fonctionnement en PHP5 sur
http://www.adressedemonsite.org:89

ces headers sont très léger, il faudrait plutôt:

$headers > "From: ".
"Reply-To: $adressen".
"Return-path: ".
"MIME-Version: 1.0n".
"Content-Type:text/html;charset=iso-8859-1[5]n".
"Content-Transfer-Encoding: 8bitnn";


D'accord, j'ajouterai cela lorsque mon problème sera résolu.
Sûr que ça marche avec PHP 5 ?

est-ce que seulement le msg part ?


J'aurais tendance à penser que non (sinon, je ne vois pas ce qui
l'empêcherait d'arriver), mais je n'en sais rien.

quel smtp est configuré dans php.ini ? est-il valide ?


Actuellement, on a :

sendmail_path
Local value /etc/apache2/conf/sendmail-secure www.adressedemonsite.org
Master value /usr/sbin/sendmail -t -i
SMTP localhost

J'ai tenté de modifier tout bêtement local value dans le htaccess en
rajoutant :89 à la fin de l'adresse du site, mais en vain.

avez-vous regardé les logs du MTA ?


Euh ?... Je me sens devenir blonde du dedans...

mail() n'a pas été modifié entre php 4 et 5, s'il ne marche pas c'est
que php ou globalement les services mails sont configurés
différemment.


Oui, c'est pourquoi je m'étonne que ce qui fonctionnait parfaitement sur
tous les sites ne marche plus sur aucun.

--
Pascale

BertrandB
Le #5156631

est-ce que seulement le msg part ?
quel smtp est configuré dans php.ini ? est-il valide ?
avez-vous regardé les logs du MTA ?


est-ce que le sendmail_path est dans le safe_exec_dir ?

pour contourner ce problème sur demo1g d'ovh j'utilise phpmailer pour
attaquer le smtp de laposte.net ... je sais qu'une modif de phpmailer
lui permet aussi d'attaquer le smtp de gmail

Pascale
Le #5156641
"Sylvain SF" news:4808fc36$0$862$:

le 1er paramètre est censé être une adresse valide.
ce texte vaut pour un exemple qui ne dit pas ce qu'il fait ?


Bien sûr : j'ai mis partout des paramètres fantaisistes pour l'exemple,
mais « en vrai » ce sont des variables tout à fait cohérentes.

Je n'ai peut-être pas été assez précise quand j'ai parlé d'environnement de
test. En fait, pour une adresse du style : http://www.adressedemonsite.org
l'hébergeur nous propose de tester le fonctionnement en PHP5 sur
http://www.adressedemonsite.org:89

ces headers sont très léger, il faudrait plutôt:

$headers > "From: ".
"Reply-To: $adressen".
"Return-path: ".
"MIME-Version: 1.0n".
"Content-Type:text/html;charset=iso-8859-1[5]n".
"Content-Transfer-Encoding: 8bitnn";


D'accord, mais sûr que ça marche avec PHP 5 ?

est-ce que seulement le msg part ?
quel smtp est configuré dans php.ini ? est-il valide ?


Arghhh... j'ai trouvé, je dois devenir blonde de l'intérieur, faut croire...

Actuellement, on a :

sendmail_path
Local value /etc/apache2/conf/sendmail-secure www.adressedemonsite.org
Master value /usr/sbin/sendmail -t -i
SMTP localhost

Il faut modifier tout bêtement local value dans le htaccess en
rajoutant :89 à la fin de l'adresse du site et ça marche. Je l'avais pourtant
regardé, ce fichu sendmail_path et le problème ne m'avait pas sauté aux yeux.
Comme quoi, la même question posée par une personne extérieure peut apporter
la solution !

Merci beaucoup !

--
Pascale

Publicité
Poster une réponse
Anonyme