Comment prédéfinir l'objet d'un mail envoyer en PHP
gmatg
-
gmatg -
gmatg -
Salut à tous,
J'aimerai prédéfinir l'objet du mail que l'utilisateur envoie grâce à mon formulaire de contact.
En fait, je prédéfinis l'objet du mail que je recevrai dans ma boite mail, et l'objet que l'utilisateur a donner (depuis le formulaire), s'afficherai dans le mail (en lui même)
Si quelqu'un peut m'éclairer ...
Merci beaucoup à vous
Mon code PHP :
J'aimerai prédéfinir l'objet du mail que l'utilisateur envoie grâce à mon formulaire de contact.
En fait, je prédéfinis l'objet du mail que je recevrai dans ma boite mail, et l'objet que l'utilisateur a donner (depuis le formulaire), s'afficherai dans le mail (en lui même)
Si quelqu'un peut m'éclairer ...
Merci beaucoup à vous
Mon code PHP :
<?php echo'<link href="style.css" rel="stylesheet" type="text/css">'; $destinataire = '***@***'; $copie = 'oui'; $position_arobase = strpos($_POST['mail'], '@'); $message_envoye = "Votre message nous est bien parvenu, l'équipe vous répondera le plus vite possible !"; $retour_accueil = "Pour revenir à <a href=\"Accueil.html\">l'accueil</a>"; $message_non_envoye = "L'envoi du mail a échoué, veuillez réessayer SVP."; $message_erreur_formulaire = "Vous devez d'abord <a href=\"contact.html\">envoyer et remplir le formulaire</a>."; $message_formulaire_invalide = "Vérifiez que tous les champs soient bien remplis et que l'email soit sans erreur."; if (!isset($_POST['envoi'])) { echo '<p>'.$message_erreur_formulaire.'</p>'."\n"; } else { function Rec($text) { $text = htmlspecialchars(trim($text), ENT_QUOTES); if (1 === get_magic_quotes_gpc()) { $text = stripslashes($text); } $text = nl2br($text); return $text; }; function IsEmail($email) { $value = preg_match('/^(?:[\w\!\#\$\%\&\'\*\+\-\/\=\?\^\`\{\|\}\~]+\.)*[\w\!\#\$\%\&\'\*\+\-\/\=\?\^\`\{\|\}\~]+@(?:(?:(?:[a-zA-Z0-9_](?:[a-zA-Z0-9_\-](?!\.)){0,61}[a-zA-Z0-9_-]?\.)+[a-zA-Z0-9_](?:[a-zA-Z0-9_\-](?!$)){0,61}[a-zA-Z0-9_]?)|(?:\[(?:(?:[01]?\d{1,2}|2[0-4]\d|25[0-5])\.){3}(?:[01]?\d{1,2}|2[0-4]\d|25[0-5])\]))$/', $email); return (($value === 0) || ($value === false)) ? false : true; } $nom = (isset($_POST['nom'])) ? Rec($_POST['nom']) : ''; $mail = (isset($_POST['mail'])) ? Rec($_POST['mail']) : ''; $objet = (isset($_POST['objet'])) ? Rec($_POST['objet']) : ''; $message = (isset($_POST['message'])) ? Rec($_POST['message']) : ''; $mail = (IsEmail($mail)) ? $mail : ''; if (($nom != '') && ($mail != '') && ($objet != '') && ($message != '')) { $headers = 'MIME-Version: 1.0' . "\r\n"; $headers .= 'From:'.$nom.' <'.$mail.'>' . "\r\n" . 'Reply-To:'.$mail. "\r\n" . 'Content-Type: text/plain; charset="utf-8"; DelSp="Yes"; format=flowed '."\r\n" . 'Content-Disposition: inline'. "\r\n" . 'Content-Transfer-Encoding: 7bit'." \r\n" . 'X-Mailer:PHP/'.phpversion(); if ($copie == 'oui') { $cible = $destinataire.';'.$mail; } else { $cible = $destinataire; }; $caracteres_speciaux = array(''', '’', '"', '<br>', '<br />', '<', '>', '&', '…', '’', '‘'); $caracteres_remplacement = array("'", "'", '"', '', '', '<', '>', '&', '...', '>>', '<<' ); $objet = str_replace($caracteres_speciaux, $caracteres_remplacement, $objet); $message = str_replace($caracteres_speciaux, $caracteres_remplacement, $message); $message = ' <html> <body> <div align="center"> <img src="finale.png" /> <br /> <u>Nom de l\'expéditeur :</u>'.$_POST['nom'].'<br /> <u>Mail de l\'expéditeur :</u>'.$_POST['mail'].'<br /> <br /> '.nl2br($_POST['message']).' <br /> </div> </body> </html> '; $num_emails = 0; $tmp = explode(';', $cible); foreach($tmp as $mail_destinataire) { if (mail($mail_destinataire, $objet, $message, $headers)) $num_emails++; } if ((($copie == 'oui') && ($num_emails == 2)) || (($copie == 'non') && ($num_emails == 1))) { echo '<p class="test">'.$message_envoye.'</p>'."<br>"."<br>"."<br>"; echo '<p class="test">'.$retour_accueil.'</p>'; } else { echo '<p>'.$message_non_envoye.'</p>'; }; } else { echo '<p>'.$message_formulaire_invalide.' <a href="contact.html">Retour au formulaire</a></p>'."\n"; }; }; ?>
A voir également:
- Comment prédéfinir l'objet d'un mail envoyer en PHP
- Gmail envoyer un mail - Guide
- Comment envoyer un mail en copie cachée - Guide
- Comment télécharger un mail - Guide
- Comment envoyer un sms en différé - Guide
- Windows live mail - Télécharger - Mail
3 réponses
Bonjour,
Je ne comprend pas ta question.
Si tu veux mettre quelque-chose par défaut dans l'objet du mail ... il te suffit de jouer avec ta variable $objet
Je ne comprend pas ta question.
Si tu veux mettre quelque-chose par défaut dans l'objet du mail ... il te suffit de jouer avec ta variable $objet
$objet = "ce que tu veux !"; if (mail($mail_destinataire, $objet, $message, $headers))
Salut,
En fait, j’aimerai prédéfinir l'objet du mail que l'utilisateur m'envoie (cet objet qui s'affiche sur ma boite mail). Puis l'objet que l'utilisateur rentre via le formulaire de contact apparaît dans la mail, au dessus de $nom, $mail, $message.
Donc moi j'ai fais sa : (dit moi si c'est correct)
et puis j'ai qu'a mettre :
Merci beaucoup d'avance
En fait, j’aimerai prédéfinir l'objet du mail que l'utilisateur m'envoie (cet objet qui s'affiche sur ma boite mail). Puis l'objet que l'utilisateur rentre via le formulaire de contact apparaît dans la mail, au dessus de $nom, $mail, $message.
Donc moi j'ai fais sa : (dit moi si c'est correct)
$message = ' <html> <body> <div align="center"> <img src="finale.png" /> <br /> <u>Nom de l\'expéditeur :</u>'.$_POST['nom'].'<br /> <u>Mail de l\'expéditeur :</u>'.$_POST['mail'].'<br /> <br /> '.nl2br($_POST['message']).' <br /> </div> </body> </html> ';
et puis j'ai qu'a mettre :
$objet = "l'objet que je prédéfini";?
Merci beaucoup d'avance
Pour avoir un "objet" dans le mail que tu reçois ( le SUBJECT du mail) faut remplacer la variable $object par autre chose
Et utiliser ta variable $object ( qui provient du formulaire )
Dans ta variable $message
$subject= "ce que tu veux !"; if (mail($mail_destinataire, $subject, $message, $headers))
Et utiliser ta variable $object ( qui provient du formulaire )
$objet = (isset($_POST['objet'])) ? Rec($_POST['objet']) : '';
Dans ta variable $message
$message = ' <html> <body> <div align="center"> <img src="finale.png" /> <br /> <u>Objet :</u>'.$object.'<br /> <u>Nom de l\'expéditeur :</u>'.$nom.'<br /> <u>Mail de l\'expéditeur :</u>'.$mail.'<br /> <br /> '.nl2br($_POST['message']).' <br /> </div> </body> </html> ';
Parfait, sa à l'air de marcher (je ne peux pas voir ce que je reçois car mon localhost Xampp ne fonctionne toujours pas ...).
Et pour :
Je n'ai pas besoin de le mettre car je l'avait deja mit.
Et sa :
Je le met où dans le code ? Ya t-il une place recommander ?
Merci beaucoup
Et pour :
$objet = (isset($_POST['objet'])) ? Rec($_POST['objet']) : '';
Je n'ai pas besoin de le mettre car je l'avait deja mit.
Et sa :
$subject= "ce que tu veux !";
Je le met où dans le code ? Ya t-il une place recommander ?
Merci beaucoup
Je n'ai pas besoin de le mettre car je l'avait deja mit.
Oui.. je sais. c'était pour te montrer, justement, que tu l'avais déjà...
Je le met où dans le code ? Ya t-il une place recommander ?
Avant l'envoi du mail.... mais sinon peut importe.
Mais en général, on place ( on regroupe ) les variables ( les constantes) au début du script.
de cette façon, si un jour tu as besoin de les modifier, tu les trouveras tout de suite sans avoir à les chercher un peu partout dans ton code.
Ok je vois ... donc comme ca ?
et cela, tu me conseille de le mettre où ? en début de code ? et est ce bien $message ou autre chose qu'il faut mettre ? Parce que là j'appelle la variable $message, est ce pas autre chose ?
Merci beaucoup
<?php echo'<link href="style.css" rel="stylesheet" type="text/css">'; $destinataire = '***@***'; $copie = 'oui'; $subject= "Demande de renseignements - Stimmo"; $message_envoye = "Votre message nous est bien parvenu, l'équipe vous répondera le plus vite possible !"; $retour_accueil = "Pour revenir à <a href=\"Accueil.html\">l'accueil</a>"; $message_non_envoye = "L'envoi du mail a échoué, veuillez réessayer SVP."; $message_erreur_formulaire = "Vous devez d'abord <a href=\"contact.html\">envoyer et remplir le formulaire</a>."; $message_formulaire_invalide = "Vérifiez que tous les champs soient bien remplis et que l'email soit sans erreur."; if (!isset($_POST['envoi'])) { echo '<p>'.$message_erreur_formulaire.'</p>'."\n"; } else {
et cela, tu me conseille de le mettre où ? en début de code ? et est ce bien $message ou autre chose qu'il faut mettre ? Parce que là j'appelle la variable $message, est ce pas autre chose ?
$message = ' <html> <body> <div align="center"> <u>Objet :</u>'.$_POST['objet'].'<br /> <img src="finale.png" /> <br /> <u>Nom de l\'expéditeur :</u>'.$_POST['nom'].'<br /> <u>Mail de l\'expéditeur :</u>'.$_POST['mail'].'<br /> <br /> '.nl2br($_POST['message']).' <br /> </div> </body> </html> ';
Merci beaucoup