Erreur lors de l envois du mail
Résolu
flexi2202
Messages postés
3822
Date d'inscription
Statut
Membre
Dernière intervention
-
flexi2202 Messages postés 3822 Date d'inscription Statut Membre Dernière intervention -
flexi2202 Messages postés 3822 Date d'inscription Statut Membre Dernière intervention -
A voir également:
- Erreur lors de l envois du mail
- Publipostage mail - Accueil - Word
- Windows live mail - Télécharger - Mail
- Erreur 0x80070643 - Accueil - Windows
- Corriger l'erreur 0x80070643 de la mise à jour KB5034441 de Windows 10 - Accueil - Windows
- Serveur de reception mail - Guide
3 réponses
Bonjour
Maintenant que tu sais comment voir les erreurs.... Il faut que tu apprennes à lire et à comprendre les messages anglais... Et surtout, à relire ton code afin de détecter où se situent les problèmes.
Le message te parle d'une variable qui n'existe pas.. et indique même la ligne de code à laquelle se situe le problème..
Si tu regardes bien comment tu l'as orthographié... Tu verras qu'en effet, cette variable n'existe pas...
Un H majuscule n'est pas pareil qu'un h minuscule.
Maintenant que tu sais comment voir les erreurs.... Il faut que tu apprennes à lire et à comprendre les messages anglais... Et surtout, à relire ton code afin de détecter où se situent les problèmes.
Le message te parle d'une variable qui n'existe pas.. et indique même la ligne de code à laquelle se situe le problème..
Si tu regardes bien comment tu l'as orthographié... Tu verras qu'en effet, cette variable n'existe pas...
Un H majuscule n'est pas pareil qu'un h minuscule.
bonsoir jordane
merci pour la réponse
oui juste c était ce H qui m a tout fait foirer, je viens a l instant et jute avant ta réponse de le voir
voila cela est en ordre a présent
ce qui est bizarre c est que le message est parti dans ma boite spam alors que quand il n' y avait pas le Headers et je ne sais plus comment j'y avais arrive mais le message arrivait dans ma boite de réception? Une explication ?
dans la documentation ils parlent de $additional_params = []
je suppose que cela est pour ajouter des autres variables dans le corps du message ?
merci pour la réponse
oui juste c était ce H qui m a tout fait foirer, je viens a l instant et jute avant ta réponse de le voir
voila cela est en ordre a présent
ce qui est bizarre c est que le message est parti dans ma boite spam alors que quand il n' y avait pas le Headers et je ne sais plus comment j'y avais arrive mais le message arrivait dans ma boite de réception? Une explication ?
dans la documentation ils parlent de $additional_params = []
je suppose que cela est pour ajouter des autres variables dans le corps du message ?
Bonjour
Ben non... Ce n'est pas pour le corps du mail... Mais les entêtes... C'est marqué dans la doc.
Ben non... Ce n'est pas pour le corps du mail... Mais les entêtes... C'est marqué dans la doc.
additional_params (optionnel)
String ou array à insérer à la fin des en-têtes du mail.
Ce paramètre est typiquement utilisé pour ajouter des en-têtes supplémentaires (From, Cc et Bcc). Les en-têtes supplémentaires doivent être séparés par un caractère CRLF (\r\n). Si des données externes sont utilisées pour composer cet en-tête, elles doivent être d'abord nettoyées afin de ne pas injecter des données non désirées dans les en-têtes.
bonjour jordane
mais alors ou ce trouve le contenu du corps car je viens d essayer ce code que j ai trouve sur comment ca marche
et j ai le meme soucis
le corps de mon message se trouve dans l entête et dans le corps de mon message
mais alors ou ce trouve le contenu du corps car je viens d essayer ce code que j ai trouve sur comment ca marche
et j ai le meme soucis
le corps de mon message se trouve dans l entête et dans le corps de mon message
<?php //Ecrivez votre adresse e-mail entre les guillemets $destinataire='monadresse@mondomaine'; ?><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Strict//EN" "[http://www.w3.org/TR/html4/strict.dtd]"> <html lang="fr"> <head> <title>Contact</title> <style type="text/css"> form#contact{border:2px solid red;width:70%;padding:1em} p#msg,p#adr,p#obj{border:2px solid green;margin-right:10%;padding:10px} p#msg textarea{border:2px solid blue;height:30em;width:80%} p#adr input,p#obj input{border:2px solid blue} p.bt{text-align:center} p.bt input{border:1px red solid;width:50%} </style> <meta http-equiv="content-type" content="Content-type:text/html;charset=iso-8859-1"> </head> <body style="direction: ltr;"> <h1>Contact</h1> <?php $Previsualiser='<p class="bt"> <input type="submit" name="previsualiser" tabindex="3" value="Prévisualiser"></p>'; $Envoi="\n".'<p class="bt"> <input name="envoi" tabindex="4" value="Envoyer" type="submit"></p>'; if (isset($_POST['message'])) { // La variable $verif va nous permettre d'analyser si la sémantique de l'email est bonne $verif='#^[\w.-]+@[\w.-]+\.[a-zA-Z]{2,5}$#'; //quelques remplacements pour les specialchars $message=preg_replace('#(<|>)#', '-', $_POST['message']); $message=str_replace('"', "'",$message); $message=str_replace('&', 'et',$message); $objet=preg_replace('#(<|>)#', '-', $_POST['objet']); $objet=str_replace('"', "'",$objet); $objet=str_replace('&', 'et',$objet); // On assigne et/ou protège nos variables $votremail=stripslashes(htmlentities($_POST['votremail'])); $message=stripslashes(htmlspecialchars($message)); $objet=stripslashes(htmlspecialchars($objet)); //input envoi/previsualiser $envoi=htmlentities($_POST['envoi']); $previsualiser=htmlentities($_POST['previsualiser']); //on enlève les espaces $votremail=trim($votremail); $message=trim($message); $objet=trim($objet); $apercu_resultat='<p>Aperçu du résultat :</p>'; /*On vérifie si l'e mail et le message sont pleins, et on agit en fonction. (on affiche Apercu du resultat, tel ou tel champ est vide, etc...*/ //Si ca ne vas pas (mal rempli, mail non valide...) if((empty($message))or(empty($objet))or(!preg_match($verif,$votremail))) { //les 3 champs sont vides if(empty($votremail)and(empty($message))and(empty($objet))) { echo '<p>Tous les champs sont vides.</p>'; $message='';$votremail='';$objet='';$apercu_resultat=''; } //un des champs est vide else { if(!preg_match($verif,$votremail)) echo'<p>Votre adresse e-mail n\'est pas valide.</p>'; else { echo'<p>Il faut remplir tous les champs !</p>'; if(empty($message)) $apercu_resultat=''; } } } //Si les deux sont pleins et que l'adresse est valide, on envoie on on prévisualise sans envoi else { $domaine=preg_replace('#[^@]+@(.+)#','$1',$votremail); $DomaineMailExiste=checkdnsrr($domaine,'MX'); if(!$DomaineMailExiste) echo'<p>Le nom de domaine de l\'adresse e-mail que vous avez donné n\'existe pas.</p>'; elseif(!empty($previsualiser)) { $apercu_resultat='<p>Votre message et votre adresse e-mail sont valides et prêts à être envoyés. <br>Vous n\'avez plus qu\'à cliquer sur le bouton "Envoyer".<br>Prévisualisation :</p>'; $Previsualiser=''; } elseif(!empty($envoi)) { $objet='[SITE] : '.$objet; $headers='From:'.$votremail."\r\n".'To:'.$mail."\r\n".'Subject:'.$objet."\r\n".'Content-type:text/plain;charset=iso-8859-1'."\r\n".'Sent:'.date('l, F d, Y H:i'); if(mail($destinataire,$objet,$message,$headers)) { echo '<p>Votre message a bien été envoyé. Merci.</p><p><a href="/">Retour à la page d\'accueil</a></p>'; $Envoi=''; $Previsualiser=''; } else echo'<p>Un problème est survenu durant l\'envoi du mail.</p>'; } else echo'<p>Une condition innatendue est survenue lors de l\'exécution du script.</p>'; } echo $apercu_resultat; } else { echo '<p>Vous pouvez utiliser ce formulaire pour me contacter.</p>'; $votremail='';$message=''; } $bas_formulaire=$Previsualiser.$Envoi; ?> <form id='contact' method="post" action="<?php echo $_SERVER['PHP_SELF'];?>" enctype="multipart/form-data"> <p id='obj'><label for='objet'>Objet de votre message :<br> <input type='text' name='objet' id='objet' tabindex='10' size='30'></label></p> <p id="adr"><label for="mail">Votre Adresse E-mail<br> <input name="votremail" tabindex="20" size="30" type="text" id="mail" value="<?php echo $votremail; ?>"></label></p> <p id="msg"><label for="message">Votre message<br> <textarea tabindex="30" rows="20" cols="120" name="message" id="message"><?php echo $message; ?></textarea> </label></p> <?php echo $bas_formulaire;?> </form> </body> </html>
voila alors pour ceux que cela intéresse
voici comment envoyer envoyer plusieurs variables dans le body
voici comment envoyer envoyer plusieurs variables dans le body
//l'envoie du mail if(!empty($_POST["send"])) { $name = $_POST["name"]; $email = $_POST["email"]; $subject = $_POST["subject"]; $message = $_POST["message"]; $message .= "Mail:\t$email\n"; $message .= "Message:\t$subject\n\n"; $to = "perrmail.com"; $headers = 'From: '.$name."\r\n". 'Reply-To: '.$email."\r\n" . 'X-Mailer: PHP/' . phpversion(); if(mail($to, $subject, $message, $headers)) { $mail_msg = "Vos informations de contact ont été reçues avec succés."; $type_mail_msg = "success"; }else{ $mail_msg = "Erreur lors de l'envoi de l'e-mail."; $type_mail_msg = "error"; } }