Bonjour à tous,
J'ai un problème avec la fonction mail() en php sur mon site chez OVH.
En local ça marche parfaitement avec WAMP.
Sur mon vrai site chez ovh ça ne marche pas je ne comprends pas.
j'ai l'offre freedom perso avec 500mails/j.

[php]// Envoi d'email
            $mail_To = monmail@laposte.net;
            $mail_Subject = "test mail";
			

			
            $headers  = "From: monsite.com\n"; 
            $headers .= "Reply-To: postmaster@monsite.com\n";
            $headers .= "MIME-Version: 1.0\r\n";
            $headers .= "Content-Transfer-Encoding: 8bit\n";
            $headers .= "Content-type: text/html; charset=utf-8\n";
                      
            $mail_Body = 'Bonjour ';

            if(mail($mail_To, $mail_Subject, $mail_Body, $headers)) 
               { 
                   $_SESSION['message'] ='ok good';
                   unset($_POST);
               } 
               else 
               { 
                    $_SESSION['erreur'] ="bug complet";
               } 
			   */


avez vous une solution ou des conseils?
Merci d'avance =)
Modifié par sacha51 (26 Jun 2013 - 16:31)
Bonjour,
Je ne sais pas si ça peut t'aider, mais j'avais été longuement embêté avec une fonction mail() il y a très longtemps, et au final, la solution avait été d'enlever les \r, car apparemment ça ne passait pas chez OVH, et de juste laisser les \n
Je ne sais pas si ils ont corrigé ça depuis... Tente d'enlever le "\r" sur ton MIME-Version peut-être?
j'ai testé mais aucun mail reçu

<?php
                $headers ='From: postmaster@monsite.com'."\n";
                $headers .='Reply-To: postmaster@monsite.com'."\n";
                $headers .='Content-Type: text/plain; charset="iso-8859-1"'."\n";
                $headers .='Content-Transfer-Encoding: 8bit';
                mail('monmail@laposte.net', 'Sujet', 
                'Message contenu de l email', $headers); 
?>


et j'ai testé le From et c'est pareil.
vraiment bizarre.. il ne pourrait pas faire comme tout le monde chez ovh
Juste pour vérification afin d'éviter toute ambiguïté: tu as bien remplacé le "monmail@laposte.net" par ta vraie adresse mail? (désolé de te poser une question si bête, mais parfois une étourderie est si vite arrivée Smiley smile )
oui ^^
par contre l'adresse :

$headers .='Reply-To: postmaster@monsite.com'."\n";


il faut bien mettre celle que j'ai eu automatiquement avec OVH c'est bien ça?
(postmaster@monsite.com)

pas une adresse mail autre genre toto@gmail.com
Le reply-to est l'adresse à qui sera envoyé le mail si l'utilisateur clique sur "Répondre". Tu mets celle que tu veux, du moment que tu as accès à la boîte mail correspondante Smiley smile

Par contre, je viens de penser, peut-être qu'ovh a blacklisté les adresses en @laposte.net, ou que les mails peuvent mettre du temps à arriver (j'avais eu ce type de galère avec des adresses mails en @aol.com), ou encore que c'est parti dans les spam?

Essaie d'envoyer à une adresse autre que laposte.net si tu en as une à disposition.
ahah non .. toujours pas. Je ne vois pas j'ai envoyé un mail au service technique.

j'ai parcouru tout google je crois et rien de concluant c'est dingue.
je suis sur que c'est un petit truc de rien du tout
Bon, je suis désolé, je crois que j'ai fait le tour des idées que j'avais... Si j'en ai d'autres je te tiens au courant. N'oublie pas de poster la solution si tu trouves, je suis curieux de savoir d'où vient le problème...
Re,

j'ai testé leur script officiel :


<?php
                $headers ='From: toto@laposte.net'."\n";
                $headers .='Reply-To: toto@laposte.net'."\n";
                $headers .='Content-Type: text/plain; charset="iso-8859-1"'."\n";
                $headers .='Content-Transfer-Encoding: 8bit';
                mail('titi@laposte.net', 'Sujet', 
                'Message contenu de l email', $headers); 
?>


Sur d'autres Hébergeurs ou j'ai des sites ça marche nikel.
Chez OVH ça ne marche pas..
Si ça peut vous orienter
Merci
Re,
Pour ceux qui ont OVH mutualisé perso la première offre la fonction mail() n'est pas disponible.

Il faut choisir une autre offre.
Voila =)