Erreur lors de l envois du mail
Résolu/Fermé
flexi2202
Messages postés
3749
Date d'inscription
lundi 14 mars 2011
Statut
Membre
Dernière intervention
27 janvier 2023
-
Modifié le 16 mai 2021 à 23:49
flexi2202 Messages postés 3749 Date d'inscription lundi 14 mars 2011 Statut Membre Dernière intervention 27 janvier 2023 - 17 mai 2021 à 14:05
flexi2202 Messages postés 3749 Date d'inscription lundi 14 mars 2011 Statut Membre Dernière intervention 27 janvier 2023 - 17 mai 2021 à 14:05
A voir également:
- Erreur lors de l envois du mail
- Creer adresse mail - Guide
- Ouvrir ma boîte mail ✓ - Forum Messagerie
- Formule de politesse mail anglais - Guide
- Cci mail - Guide
- Créer un compte yahoo mail gratuit avec capacité de - Guide
3 réponses
jordane45
Messages postés
36909
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
2 février 2023
4 478
16 mai 2021 à 23:56
16 mai 2021 à 23:56
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.
flexi2202
Messages postés
3749
Date d'inscription
lundi 14 mars 2011
Statut
Membre
Dernière intervention
27 janvier 2023
173
17 mai 2021 à 00:04
17 mai 2021 à 00:04
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 ?
jordane45
Messages postés
36909
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
2 février 2023
4 478
17 mai 2021 à 06:35
17 mai 2021 à 06:35
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.
flexi2202
Messages postés
3749
Date d'inscription
lundi 14 mars 2011
Statut
Membre
Dernière intervention
27 janvier 2023
173
>
jordane45
Messages postés
36909
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
2 février 2023
Modifié le 17 mai 2021 à 08:34
Modifié le 17 mai 2021 à 08:34
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>
jordane45
Messages postés
36909
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
2 février 2023
4 478
>
flexi2202
Messages postés
3749
Date d'inscription
lundi 14 mars 2011
Statut
Membre
Dernière intervention
27 janvier 2023
17 mai 2021 à 12:17
17 mai 2021 à 12:17
ou ce trouve le contenu du corps
Si tu regardes un peu le code que tu utilises pour l'envoi du mail.. c'est assez simple de voir où se trouve chaque élément...
if(mail($destinataire,$objet,$message,$headers))
En l'occurrence, le contenu du message se trouve.... dans la variable $message
flexi2202
Messages postés
3749
Date d'inscription
lundi 14 mars 2011
Statut
Membre
Dernière intervention
27 janvier 2023
173
>
jordane45
Messages postés
36909
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
2 février 2023
17 mai 2021 à 14:05
17 mai 2021 à 14:05
bonjour jordane
tout est ok a présent
merci pour la réponse
tout est ok a présent
merci pour la réponse
flexi2202
Messages postés
3749
Date d'inscription
lundi 14 mars 2011
Statut
Membre
Dernière intervention
27 janvier 2023
173
Modifié le 17 mai 2021 à 00:56
Modifié le 17 mai 2021 à 00:56
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"; } }