Migration PHP4 --> PHP5 - Problème avec mail()

Petit nouveau ! | 6 Messages

19 avr. 2008, 14:45

Bonjour à tous,

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 : il suffit d'ajouter :89 à la fin de l'adresse de chaque site à tester.
Et il y a un truc qui coince et que je n'arrive vraiment pas à résoudre, c'est la fonction mail qui ne
marche plus du tout.
Par exemple un code du genre (normalement, au lieu du texte farfelu que j'ai mis, il y a des variables tout ce qu'il y a de valable) :

*********************************
$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 :\n\n".$texte;

$from="From: [email protected]\nReply-To: ".$adresse."\nReturn-Path: 
[email protected]\n";

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

(Il paraît que mes entêtes sont trop succintes, je peux améliorer ça, mais pour l'instant, ce n'est pas ma priorité...).
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. En PHP4, tout fonctionne bien sur tous les sites, mais en PHP5, rien ne va plus...

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 ?... Je ne crois pas utiliser ça, sauf à être comme monsieur Jourdain qui faisait de la prose sans le savoir...
Dans le doute, j'ai tenté de simplifier le programme ci-dessus en remplaçant :
$from="From: [email protected]\nReply-To: ".$adresse."\nReturn-Path: 
[email protected]\n";
par :
$from="From: [email protected]";
Ça ne marche pas mieux, même dans cette configuration simpliste.

Dans le php.ini, 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 cru avoir trouvé la solution, je me suis dit naïvement qu'il fallait modifier local value de sendmail_path en ajoutant :89 à la fin de l'adresse du site, mais j'avoue humblement que je ne suis même pas capable de faire ça par le .htaccess.

Si quelqu'un peut m'aider, je lui en saurai gré, parce que là, je commence à être un peu inquiète...

Eléphant du PHP | 134 Messages

22 avr. 2008, 17:12

Salut,

A tout hasard un petit
ini_set("safe_mode", 0);
@+

Petit nouveau ! | 6 Messages

29 avr. 2008, 14:46

Désolée de répondre si tard, mais comme je le soupçonnais un peu, le problème était bien du côté de notre hébergeur qui a fini par répondre : « Après des recherches, il s'est avéré que le problème venait du mail
transfer agent du serveur frontal utilisé pour les tests php5, qui
n'était pas démarré. »
Le problème est donc réglé, ouf. Désolée d'avoir posé une question qui ne pouvait pas être résolue par les gens du forum, mais je ne connaissais pas du tout l'origine de mon problème.