Bonsoir,

Et je n'ai pas de messages d'erreur. J'ai bien la phrase de confirmation, mais je ne reçois pas de mail...
Je me suis rendu compte que ma version php sur ovh était périmée, et l'ai donc mis à jour mais rien n'y fait.
J'ai même changé mon adresse mail par une autre voir si cela venait d'ovh, mais non :(

    /* Email du destinataire (mettez ici votre email) */
    $destinataire = "monmail@domaine.com";
    $email = $_POST['email'];
    $nom = $_POST['nom'];
    $prenom = $_POST['prenom'];
    $demande = $_POST['demande'];

    /*organisation des données*/
    $message = '<strong>Nom</strong> :'.$nom.'<br/><strong>Prenom</strong> :'.$prenom.'<br/><strong>E-mail</strong> :'.$email.'<br/>        <strong>Message</strong> :'.$demande;

    $objet = "Demande de renseignements" ;

    $headers  = 'MIME-Version: 1.0' . "\r\n";
    $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
    /* Vérification */
    if ( $nom == "" ) {
    echo "Veuillez &eacute;crire votre nom";
    $erreur = true;
    }
    if ( $email == "" ) {
    echo "Veuillez &eacute;crire votre entreprise";
     $erreur = true;
    }
    if ( $demande == "" ) {
    echo "Veuillez indiquer votre demande";
     $erreur = true;
    }

    $email_regex = "^[_a-z0-9-]+(.[_a-z0-9-]+)*@[a-z0-9-]+.[a-z0-9-]";
    if ( $email == "" OR !eregi( $email_regex , $email ) ) {
     echo "Veuillez indiquer un email valide.";
    $erreur = true;
    }

    if ( !$erreur ) {
    mail( $destinataire, $objet, $message, $headers);
    echo "<div style='position:absolute;width:400px;font-size:1.3em;left:50%;top:50%;transform:translateY(-50%) translateX(-50%)'>          <h2>Envoyé&nbsp;!</h2><p>Votre demande a bien &eacute;t&eacute; prise en compte. Je vous r&eacute;pondrais dans les plus brefs d&eacute;lais.<br><a href='index.php' class='bouton'>Accueil</a></p></div>";
    }
    ?>```

Deuxième problème, j'ai réalisé mon site en anglais et français, après m'être renseigné sur un code qui marchait lorsque j'était en mode test en ligne, une fois mis à la racine, cela marche sur chrome et safari mac mais pas sur firefox. J'ai le droit au message suivant : La page n'est pas redirigée correctement.

Voici mon code qui est tel quel au tout début de page :

```<?php
    $lang = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2);
    if ($lang != 'fr')
    $index = 'en/index.html';
    header("Location: $index",TRUE,301);
    ?>

J'ai passé 2 jours à chercher partout, merci pour ceux qui auraient le courage de m'aider :)

5 réponses


Huggy
Réponse acceptée

la fonction mail() renvoie un booleen, teste le

Krlos
Auteur
Réponse acceptée

Il y a vraiment un problème, je viens de recevoir un mail à l'instant, mais qui date de 16h22 avec le message " Le domaine ovh.net n'a pas chiffré ce message" ...

Je test ce que tu me dis

**edit : pour firefox c'est réglé, je n'avais pas ouvert fermé les accolades après la parenthèse du if

if ($lang != 'fr'){
    $index = 'en/index.html';
    header("Location: $index",TRUE,301);
}
?>

merci !

Pour tes histoires de Firefox, vide le cache ctrl F5

Krlos
Auteur

Merci pour tes réponses, mais les 2 ne donnent rien :(
j'ai mis à la fin du mail.php le code suivant :


if(mail($nom, $email, $demande, $message, $headers)){
echo "envoie de l'email a été reusi";
}
else{
echo "l'envoie de l'email a échoué !";
}

et j'ai bien le message "lenvoie de l'email ok", mais je ne reçois toujours rien.

Pour firefox, j'ai vidé l'historique, cache etc et rien.

Pour la fonction mail()
essaye d'envoyer un mail à mail_tester.com, tu auras toutes les infos
sinon avec mail(), il faut couper les ligne à 70 caractères

Pour Firefox, il faut voir le contenu de $index et le contenu de $_SERVER['ACCEPT_LANGUAGE']
peut-être un pb de minuscule/majuscule ????