Bonsoir tout le monde,

Récemment j'ai mis en ligne mon portfolio en ligne ; http://www.adelkamel.net/
Comme le titre l'indique mon formulaire (marche très bien local, je reçois les informations saisie dans le formulaire après envoie) mais pas du tout en ligne.

J'ai contacté mon hébergeur (OVH) afin d'avoir la certitude que le problème ne venait pas de leur serveur de mail et ce n'est pas le cas, il m'ont juste indiqué sur je devais utiliser la fonction mail de php.

N'étant absolument pas calé en PHP, je viens solliciter votre aide.

Voici le code de mon formulaire :

<?php 
    if(!empty($_POST)) {
        extract($_POST);
        $valid = true;
        if($adresse != "") {
            $valid = false;
            $erreurnom = "Vous n'avez pas rempli votre adresse !";
        }
        if(empty($nom)) {
            $valid = false;
            $erreurnom = "Vous n'avez pas rempli votre nom et prénom !";
        }
        /* CETTE VARIABLE N'EST PAS TRANSMISE VU QU'ELLE N'EXISTE PAS DANS TON FORMULAIRE ;)
        if(empty($prenom)){
            $valid = false;
            $erreurprenom = "Vous n'avez pas rempli votre prénom !";
        }
        */
        if(!preg_match("/^[a-z0-9\-_.]+@[a-z0-9\-_.]+\.[a-z]{2,3}$/i",$email)){
            $valid = false;
            $erreuremail = "Votre email n'est pas valide !";
        }
        if(empty($email)) {
            $valid = false;
            $erreuremail = "Vous n'avez pas rempli votre email !";
        }
        if(empty($message)) {
            $valid = false;
            $erreurmessage = "Vous n'avez pas rempli votre message !";
        }

        if($valid) {
            //$to = "adelkamel@hotmail.fr";
            $to = "adelkamel1982@gmail.com";
            $sujet = "Un message en provenance du portfolio";
            /*$header = 'MIME-Version: 1.0' . "\r\n";
            $header .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
            $header .= "From: adelkamel@hotmail.fr \n";
            $header .= "Reply-To: $email";*/
            $header = 'To: Adel <adelkamel1982@gmail.com>' . "\r\n";
            /*$header .= 'From: Adel <adelkamel@hotmail.fr>' . "\r\n";*/
                        $header .= "From: $nom <$email>";
            $header .= 'Bcc: Adel <adelkamel1982@gmail.com>' . "\r\n"; // Destinataire de copie cachée*/
            $header .= "Reply-To: ".$email;
            $message = stripslashes($message);
            $nom = stripslashes($nom);
            if(mail($to, $sujet, $message, $header)) {
                //die('ok');
                $erreur = "Votre message m'est bien parvenu";
                unset($nom);
                unset($prenom);
                unset($email);
                unset($message);
            } else {
                $erreur = "Une erreur est survenue";
            }
        }
    }
?>

J'ai relu le code à plusieurs reprises et je ne parviens pas à trouver ce qui peux causer le dysfonctionnement...surtout que tout marche parfaitement en locale.

J'espère que vous pourrez m'aider.

Cordialement,

Adel

1 réponse


serda
Réponse acceptée

Deja mettre ta variable $valide = false me choque un peu ^^

Ensuite pour l'envoi de mail je rencontre le meme soucis depuis hier et la reponse est => si tu dev en local sur du windows je presume que ta wamp et se dernier n'utilise pas de serveur de mail comme linux.

et vu que tu upload sur un serveur sous linux tu doit configuré un serveur de mail => config que je vais remonter et qui me convient car deja tester.

Postfix pour l'envoi de mail et IMAP+POP pour la reception.

Voila en esperant que ton prob se resolu ;)