Script php formulaire de contact

Résolu
Bonjour,

Ce script en php ne fonctionne pas correctement, c'est à dire qu'il m'envoi les emails trés tard et sans leur contenu ...

<?PHP

if (!get_magic_quotes_gpc()) {
  foreach($_POST as $key=>$value) {
    $temp = addslashes($value);
    $_POST[$key] = $temp;
    }
  }

// ADD YOUR EMAIL HERE //
$to = 'info@ohk-officiel.com';
// VARIABLE NAME FROM FLASH //
$name = 'Votre nom: '.$_POST['name'];
// VARIABLE EMAIL FROM FLASH //
$email = 'Votre e-mail: '.$_POST['email'];
// VARIABLE TELEPHONE NUMBER FROM FLASH //
$telephone = 'Votre numéro de téléphone: '.$_POST['telephone'];$subject ='WEBSITE CONCTACT FORM:'.$_POST['subject'];
// VARIABLE MESSGAE FROM FLASH //
$message = $_POST['message'];
$additionalHeaders = "De: ".$_POST['name']."<".$_POST['email'].">\n";
$additionalHeaders .= "Reply-To: $_POST[rmail]";
// RECEIVED MESSAGE FROM WHICH YOU CAN CHANGE TO YOUR OWN //
$messagetosend = 'Vous avez reçu un e-mail via votre site à partir de:'."\n\n";
$messagetosend .= $name."\n";
$messagetosend .= $email."\n";
$messagetosend .= $telephone."\n\n";
$messagetosend .= 'Voici le message:'."\n\n";
$messagetosend .= $message."\n\n";
/// REPLY MESSAGE WHICH YOU CAN CHANGE TO YOUR OWN //
$messagetosend .= 'Vous pouvez répondre à ce message'."\n\n";


$OK = mail($to, $subject, stripslashes($messagetosend), $additionalHeaders);
//
if ($OK) {
$flashreply = 'Message envoyé';
echo 'sentSuccess='.urlencode($flashreply);
} else {
}

?>


15 réponses

  1. Tu as besoin d'aide pour ton site?
    1
    1. Je peux t'aider...
      0
    2. oui vraiment ! merci.
      0
  2. Contributeur
    Bonjour,

    Ce script (apparemment que tu as trouvé tout fait sur le net) me semble fonctionner. D'autant plus que si tu reçois correctement les e-mails envoyés, c'est tout OK.

    Le problème de latence se situe plutôt au niveau du relai du mail, voire même carrément au niveau du serveur de ton hébergeur qui n'est sans doute pas très performant à ce niveau-là.

    Chez qui es-tu hébergé ?
    1
    1. OVH
      0
  3. voici le contenu du mail reçu:

    Vous avez reçu un e-mail via votre site à partir de:

    Votre nom:
    Votre e-mail:
    Votre numéro de téléphone:

    Voici le message:

    Vous pouvez répondre à ce message


    et des fois le mail n'est pas reçu !

    j'ai fait appel à mon hébergeur depuis 2 semaines +-, mais apparemment le problème ne semble pas avoir été résolu.
    1
    1. voici la solution apportée par le helper OVH:

      Bonjour,
      > >
      > > Il faut un script en ligne sur votre hébergement pour que nous puissions effectuer des tests à notre niveau, nous ne pouvons pas intervenir sur une page qui n'existe pas.
      > >
      > > Svp, allez sur ce lien :
      > > https://forum.ovh.com/?p=158831&postcount=2
      > >
      > > Copiez le script d'envoi d'email dans un fichier que vous nommerai en testmail.php.
      > >
      > > Modifier les variables :
      > > $to = "adresse@machin.truc";
      > > $from = "postmaster@bidule.truc";
      > >
      > > Renseigner des adresses existantes.
      > >
      > > Une fois le fichier transféré sur votre hébergement, voulez vous bien nous indiquer l'url d'accès ?
      > >
      > > Je reste à votre disposition pour toute informations complémentaires.


      je l'ai fait et cela fonctionne ! mais pas sur mon site !
      1
      1. Modérateur
        parce qu'il ne l'était pas avant ????
        refais à partir des liens donnés plus haut, ceux-là fonctionnent :)
        ps : pas la peine de 'crier' (mettre en majuscules ou en gras sur un forum équivaut à hurler ;) )
        0
      2. oui dsl pour le "gras" mais j'ai vraiment besoin d'aide !
        0
    2. a mon avis le pb vient du fait qu'il faut dans $additionalHeaders
      from: ton adresse mail telle que définie chez eux (celle en postmaster....)

      essayes de modifier
      $additionalHeaders = "De: ".$_POST['name']."<".$_POST['email'].">\n";
      par
      $additionalHeaders = "From: "ton_nom"<ton_adr_mail_ovh>\n";


      De c'est du français et tout le codage est en anglais
      1
      1. Le codage était en anglais j'ai traduit en français. C'est pour cela qu'il y a le De
        0
    3. Je viens d'essayer plusieurs liens situés au dessus ! J'ai toujours un problème d'envoi de mail. Après plusieurs essais d'envoi par moi même, je n'ai reçu aucun mail !

      Au niveau de mon serveur, je n'ai pas de problème car je viens aussi de faire un test de mail via un lien fourni par mon helper OVH.

      Il doit bien y avoir une solution non ?

      Voici mon site: www.ohk-officiel.com

      Partie "contact"
      1
      1. Quelqu'un peut il m'aider svp ? Je ne reçois pas les messages à partir de mon formulaire de contact :(
        1
        1. Modérateur
          tu as des liens plus haut : refais ton formulaire et ça fonctionnera !!!
          0
      2. Auparavant, j'avais reçu quelques mail de mon formulaire de contact. C'est la preuve qu'il fonctionne ! Mais de tant en tant, quand il veut... J'aimerais le gérer et l'ordonner de m'envoyer les mail à l'instant même et de recevoir tout les mail.

        Non sérieusement, il doit y avoir un autre problème :( à l'aide.
        1
        1. Mon formulaire de contact ne fonctionne toujours pas. Un message indique que "ça a été envoyé avec succès" mais je ne reçois pas ces messages envoyés.

          Voici le lien du formulaire : http://ilyasoksuz.com/ohk-officiel.com/index.html#/contact
          1
          1. Quelqu'un peut il m'aider svp ?
            1
            1. Salut,

              Je ne comprendrais jamais l'utilité de proposer un formulaire en Flash alors qu'avec le bon vieux HTML associé au CSS on arrive à faire des trucs très sympas et surtout très ergonomiques.
              Enfin c'est toi qui voit mais le tout Flash question accessibilité c'est pas top!
              0
          2. ça ne fonctionne toujours pas :(
            1
            1. Modérateur
              tu es une vraie flèche toi ....
              date de ta demande : "5 oct. 2011 à 17:57 "
              et nous sommes le 30 décembre 2012 !!!
              0
            2. quand on n'apporte pas une vrai solution, on n'avance pas :)
              0
          3. Envoie d'un Email en PHP
            ajoute juste le formulaire ;)
            ----------------------------------------------------------------
            <?php
            $mail = 'email@brobleme.com'; // recepteur email
            if (!preg_match("#^[a-z0-9._-]+@(hotmail|live|msn).[a-z]{2,4}$#", $mail)) // ????? ????? ??? ????????.
            {
            $var = "\r\n";
            }
            else
            {
            $var = "\n";
            }
            //=====texte du message .
            $message_txt = "Salut à tous, voici un e-mail envoyé par un script PHP.";
            $message_html = "<html><head></head><body><b>Salut à tous</b>, voici un e-mail envoyé par un <i>script PHP</i>.</body></html>";
            //==========

            //=====boundary
            $boundary = "-----=".md5(rand());
            //==========

            //=====sujet.
            $sujet = "Hey mon ami !";
            //=========

            //===== tes infos
            $header = "From: \"Brobleme\"<send@envoyer.com>".$var;
            $header.= "Reply-to: \"AADADA.COM\" <send@envoyer.com>".$var;
            $header.= "MIME-Version: 1.0".$var;
            $header.= "Content-Type: multipart/alternative;".$var." boundary=\"$boundary\"".$var;
            //==========

            //===== message
            $message = $var."--".$boundary.$var;
            //=====texte
            $message.= "Content-Type: text/plain; charset=\"ISO-8859-1\"".$var;
            $message.= "Content-Transfer-Encoding: 8bit".$var;
            $message.= $var.$message_txt.$var;
            //==========
            $message.= $var."--".$boundary.$var;
            //===== ton message en HTML
            $message.= "Content-Type: text/html; charset=\"ISO-8859-1\"".$var;
            $message.= "Content-Transfer-Encoding: 8bit".$var;
            $message.= $var.$message_html.$var;
            //==========
            $message.= $var."--".$boundary."--".$var;
            $message.= $var."--".$boundary."--".$var;
            //==========

            //=====envoie
            mail($mail,$sujet,$message,$header);
            //==========
            ?>
            1
            1. bonsoir,

              Voici un lien pour générer un formulaire de contact : http://infoxp.leobaillard.org/formulaire/
              0
              1. Modérateur
                à force de bidouiller ....
                as-tu au moins essayé les liens donnés plus haut ???
                voir ici :
                https://www.commentcamarche.net/faq/4516-webmaster-un-formulaire-de-contact-pour-votre-site
                et:
                https://www.unesourisetmoi.info/pages/formulaires.php
                (plusieurs niveaux de difficultés)
                ;) 

                normalement jamais de problèmes ;
                0
                1. Si j'ai reçu des mails c'est que le formulaire fonctionne non ?
                  0