[RESOLU] contenu du message envoyé par phpmailer vide

Mammouth du PHP | 506 Messages

17 mars 2021, 15:46

bonjour a tous

je viens d installer phpmailer
et miracle cela fonctionne mais a 90 %
je recois bien le mail mais il est vide

qui pourrait m aider voici le code

Code : Tout sélectionner

<?php // Fichiers requis : // https://raw.githubusercontent.com/PHPMailer/PHPMailer/master/src/Exception.php // https://raw.githubusercontent.com/PHPMailer/PHPMailer/master/src/PHPMailer.php // https://raw.githubusercontent.com/PHPMailer/PHPMailer/master/src/SMTP.php //=====Appel des fichiers requis use PHPMailer\PHPMailer\PHPMailer; use PHPMailer\PHPMailer\Exception; require 'PHPMailer/Exception.php'; require 'PHPMailer/PHPMailer.php'; require 'PHPMailer/SMTP.php'; //=====Configuration des paramètres d'expédition //=====Utilisateur SMTP (Adresse email complète existante sur le serveur) $username = "[email protected]"; //=====Mot de passe de l'adresse $password = "000000000000"; //=====Nom du serveur sur lequel vos emails sont hébergés $smtphost = "smtp.gmail.com"; //=====Paramètres de contenu du mail //=====Adresse de destination du message (vous-meme pour un formulaire de contact). $to = "[email protected]"; //=====Définition du sujet de l'email. $subject = "Nouveau message sur votre site"; //=====Définition des variables à récupérer depuis votre formulaire $email_auteur = $_POST['VARIABLE1']; $nom_auteur = $_POST['VARIABLE2']; $message = $_POST['VARIABLE3']; //=====Déclaration des messages au format texte $body = "Un nouveau message vous a été envoyé sur votre site :<br /><br /> Auteur : ".$nom_auteur."<br /> Mail : ".$email_auteur."<br /> Contenu : ".$message; //========== //=====Fonction d'envoi du mail - Rien à configurer ici $email = new PHPMailer; $email->CharSet = 'UTF-8'; $email->isSMTP(); $email->Host = $smtphost; $email->SMTPAuth = true; $email->Username = $username; $email->Password = $password; $email->Port = 465; $email->SMTPSecure = "ssl"; $email->isHTML(true); $email->From = $username; $email->FromName = $nom_auteur; $email->addAddress($to); $email->addReplyTo($email_auteur, $nom_auteur); $email->Subject = $subject; $email->Body = $body; $email->AltBody = $body; //=====Envoi de l'e-mail. if(!$email->send()) { echo 'Le message ne peut être envoyé.'; echo 'Erreur: ' . $email->ErrorInfo; } else { echo 'Merci, votre message a bien été envoyé.<br />'; echo 'Vous allez être redirigé vers la page d\'accueil du site.<br />'; header('Refresh: 5; URL=http://'); } //========== ?>
et le formulaire

Code : Tout sélectionner

<form action="mailer.php" method="post"> <div> <label for="email">Votre email : </label> <input type="email" name="email" id="email" required> </div> <div> <label for="name">Votre nom : </label> <input type="text" name="name" id="name" required> </div> <div> <label for="message">Votre message : </label> <textarea name="message" id="message" required></textarea> </div> <div> <input type="submit" value="Envoyer"> </div> </form>

Mammouth du PHP | 2703 Messages

17 mars 2021, 16:16

$message = $_POST['VARIABLE3'];
<textarea name="message" id="message" required></textarea>

mais je doute que le body soit vraiment vide avec :
$body = "Un nouveau message vous a été envoyé sur votre site :<br /><br />
Auteur : ".$nom_auteur."<br />
Mail : ".$email_auteur."<br />
Contenu : ".$message;
il doit au moins y avoir "Un nouveau message vous a été envoyé sur votre site :"

Mammouth du PHP | 506 Messages

17 mars 2021, 16:22

Merci pour la reponse
oui en effet je recois ceci
Un nouveau message vous a été envoyé sur votre site :

Auteur :
Mail :
Contenu :

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

17 mars 2021, 17:50

$email_auteur = $_POST['VARIABLE1'];
$nom_auteur = $_POST['VARIABLE2'];
VARIABLE1/2/3 ça ne correspond pas aux nom (name) de tes champs de formulaire HTML, c'est pour ça que tu les reçois vide
Quand tout le reste a échoué, lisez le mode d'emploi...

Mammouth du PHP | 506 Messages

17 mars 2021, 19:41

super cela fonctionne un enorme merci