Partage
  • Partager sur Facebook
  • Partager sur Twitter

Blocage envoi mail PHP

Sujet résolu
    16 septembre 2020 à 11:24:18

    Bonjour,
    Oui vous avez bien lu, je galère avec un formulaire, j'ai juste envie de me mettre une balle...
    Pourtant j'ai déjà réussi des formulaires mais cette fois je sèche tout est OK et ce P.... de mail n'arrive pas.
    mon form html
    <form method="post" >
    		    <div class="row">
    		        <div class="input-field col s12 m6">
    		            <input type="text" name="prenom" id="prenom" />
    		            <label for="prenom">Prénom *</label>
    		        </div>
    		        <div class="input-field col s12 m6">
    		            <input type="text" name="nom" id="nom" />
    		            <label for="nom">Nom *</label>
    		        </div>
    		        <div class="input-field col s12 m6">
    		            <input type="number" name="tel" id="tel" />
    		            <label for="tel">Tél *</label>
    		        </div>
    		        <div class="input-field col s12 m6">
    		            <input type="email" name="email" id="email" />
    		            <label for="email">Email *</label>
    		        </div>
    		        <div class="input-field col s12 m12">
    		            <input type="text" name="adresse" id="adresse" />
    		            <label for="adresse">Adresse</label>
    		        </div>
    		        <div class="input-field col s12 m6">
    		            <input type="number" name="codepostal" id="codepostal" />
    		            <label for="codepostal">Code postal *</label>
    		        </div>
    		        <div class="input-field col s12 m6">
    		            <input type="text" name="ville" id="ville" />
    		            <label for="ville">Ville</label>
    		        </div>
    		        <div class="input-field col s12 m6">
    			   		<input type="text" name="typeproduit" id="typeproduit" placeholder="(parquet, stratifié, vinyle, produits d'entretien...)" />
    		            <label for="typeproduit">Type de produit</label>
    			  	</div>
    			  	<div class="input-field col s12 m6">
    			   		<input type="text" name="marque" id="marque" placeholder="BerryAlloc, Quick-Step, Blanchon..."/>
    		            <label for="Marque">Marque</label>
    			  	</div>
    			  	<div class="input-field col s12 m6">
    			   		<input type="text" name="reference" id="reference" placeholder="E1CYBMIM, SIG4757..."/>
    		            <label for="reference">Référence</label>
    			  	</div>
    			  	<div class="input-field col s12 m6">
    			   		<input type="number" name="surface" id="surface" placeholder="Surface en m²"/>
    		            <label for="surface">Surface votre projet</label>
    			  	</div>
    		        <div class="input-field col s12 m12">
    		            <textarea name="comment" id="comment" class="materialize-textarea"></textarea>
    		            <label for="comment">Description rapide de votre proje:</label>
    		        </div>
    		        <div class="input-field col s12 m6" style="display: none">
    			   		<input type="number" name="none" id="none"/>
    		            <label for="none"></label>
    			  	</div>
    		        <div class="col s12">
    		            <button type="submit" name="submit" class="btn waves-effect">
    		                Envoyer
    		            </button>
    		        </div>
    		    </div>
    </form>
     

    le traitement:
    public static function contact(){
            
            if(isset($_POST['submit'])){
    
                $none        = htmlspecialchars($_POST['none']);
                $prenom      = htmlspecialchars($_POST['prenom']);
                $nom         = htmlspecialchars($_POST['nom']);
                $tel         = htmlspecialchars($_POST['tel']);
                $email       = htmlspecialchars($_POST['email']);
                $adresse     = htmlspecialchars($_POST['adresse']);
                $codepostal  = htmlspecialchars($_POST['codepostal']);
                $ville       = htmlspecialchars($_POST['ville']);
                $typeproduit = htmlspecialchars($_POST['typeproduit']);
                $marque      = htmlspecialchars($_POST['marque']);
                $reference   = htmlspecialchars($_POST['reference']);
                $surface     = htmlspecialchars($_POST['surface']);
                $comment     = htmlspecialchars($_POST['comment']);
                $errors      = [];
    
                // Verification que les champs ne sont pas vide
                if (empty($prenom)) {
                    $errors['prenom'] = "Il manque votre prénom";
                } 
                if (empty($nom)) {
                    $errors['nom'] = "Il manque votre Nom";
                }
                if (empty($tel)) {
                    $errors['tel'] = "Il manque votre Numéro de téléphone";
                }
                if (empty($email)) {
                    $errors['email'] = "Il manque votre e-mail";
                }
                if (empty($codepostal)) {
                    $errors['codepostal'] = "Il manque votre code postal";
                } 
                if (!empty($none)) {
                    $errors['none'] = "Désolé...";
                } else {
                
                // Destinataire
                $to = 'mon@gmail.com';
                
                $subject = "Sujet";
                
                $headers  = 'MIME-Version: 1.0' . "\r\n";
                $headers .= 'Content-Type: text/html; charset="utf-8"' . "\r\n";
                $headers .= 'Content-Transfer-Encoding: 8bit' . "\r\n";
    
                $headers .= 'To: <' . $to . '>' . "\r\n";
                $headers .= 'From: ' . $nom . ',' . $prenom . ', ' . $email . "\r\n";
    
                //Message HTML
                $message = '
                 <html lang="fr" style="font-family: sans-serif;">
                    <head>
                         <meta charset="utf-8">
                    </head>
                    <body>
                    <h4>Message reçu du formulaire de contact monparquet.shop</h4>
                    <p>Prénom :'. $prenom .'.</p>
                    <p>Nom : '. $nom .'</p>
                    <p>téléphone : '. $tel . '</p>
                    <p>E-mail : '. $email . '</p>
                    <p>Adresse : ' . $adresse .'</p>
                    <p>Code postal :' . $codepostal .'</p>
                    <p>Ville : ' . $ville .'</p>
                    <p>Type de produit : ' . $typeproduit .'</p>
                    <p>Marque : ' . $marque . '</p>
                    <p>Référence : ' . $reference . '</p>
                    <p>Surface : ' . $surface . '</p>
                    <p>Description rapide : <br> '. $comment .'</p>
    
                    </body>
                </html>';
    
                // Envoie du mail
                mail($to, $message, $subject, $headers);
                var_dump($to);
    
                }
    
                if (!empty($errors)) {
                    require 'pages/includes/error.php'; 
                } else {
                    require 'pages/includes/ok.php';
    
                }     
    
            }
    
            require './pages/devis.php';
    
        }
    Il y a un blocage que je ne vois pas il est sous mes yeux et quand on va me dire le PB je vais avoir bien honte...
    Merci de votre aide

    -
    Edité par Nicolastaf 16 septembre 2020 à 14:43:58

    • Partager sur Facebook
    • Partager sur Twitter
      17 septembre 2020 à 14:56:47

      Je me réponds à moi même et pour ceux qui serait intéressé.


      La solution est d'avoir FROM: dans la fonction mail();


      donc à la place de: mail($to, $subject, $message, $headers);
      remplacer par:
      mail($to, $subject, $message, 'From: Provenance du mail');

      • Partager sur Facebook
      • Partager sur Twitter

      Blocage envoi mail PHP

      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
      • Editeur
      • Markdown