girafe62 Posté 25 Avril 2011 Posté 25 Avril 2011 bonsoir à tous . J'ai un problème avec mon furmulaire d'envoie , il envoie les messages direct vers outlook . J'aimerais le recevoir direct vers mon email sans passer par outlook. voici le code : <!-- Debut Formulaire de Contact --> <form action="mailto:david_AT_hotmail.fr"method="post"> <fieldset> <legend>Votre Email</legend> <p> <label for="email"> <input name="email" id="email" size="28" type="text" value="Adresse Email" onfocus="this.value=''" /> </p> <p> <input id="button" type="submit" value="Envoyer" title="Envoyer votre message" /> <input id="reset" type="reset" value="Annuler" title="Annuler" /> </p> </fieldset> <fieldset> <legend>Votre Message</legend> <textarea name="texte" id="texte" cols="50" rows="8"></textarea> </fieldset> </form> <!-- Fin Formulaire de Contact -->
Aenoa Posté 25 Avril 2011 Posté 25 Avril 2011 (modifié) passes ta page en .php puis fait pointer la page vers elle-même et ajoute ceci : <?phpif(isset($_POST['email']) && isset($_POST['texte'])){$headers = 'MIME-Version: 1.0' . "\r\n";$headers .= 'Content-type: text/html; charset=utf-8' . "\r\n";$headers .= 'From: '.$_POST['email'].' <'.$_POST['email'].'>' . "\r\n";$mail = "Message de ".$_POST['email'].", adresse IP ".$_SERVER['REMOTE_ADDR']." <br /><br />";$mail.= nl2br(addslashes(htmlspecialchars($_POST['texte']))); // addslashes -> on ajoute des \ devant les ' et "// htmlspecialchars -> convertion des < > etc en <, etc// nl2br -> on convertit les nouvelles lignes (\n, \r ou simple retour chariot) du formulaire en <BR />.if(mail("TON_ADRESSE_MAIL", "SUJET_DU_MAIL", $mail, $headers)){echo "OK !"; // mail correctement envoyé}else{echo "Erreur d'envoi du mail !"; // l'envoi à raté}}?> enfin, ceci c'est du php... je n'ai jamais utilisé CGI-BIN ou PEARL, le php me semble assez simple ainsi en gros ce script va vérifier que les deux formulaires sont rentrés. Si non, il re affiche la page. Si oui, il va envoyer un mail, puis re afficher la page. juste comme ça, met les boutons de réinitialisation et d'envoi à la fin, donc après le champ texte. ça pourrais en perturber quelques un Modifié 26 Avril 2011 par Aenoa
Dan Posté 26 Avril 2011 Posté 26 Avril 2011 C'est effectivement le <form action="mailto:***@hotmail.fr" method="post"> qui fait que c'est le client email local qui est ouvert. Il faut utiliser l'envoi d'email propre à ton hébergement pour éviter cela.
girafe62 Posté 28 Avril 2011 Auteur Posté 28 Avril 2011 merci de vos réponses j'ai essayer en php mais je n'y arrive pas . Je changer aussi l'adresse mail et mis celle de mon hebergeur mais c'est toujours le même problème . voici l'adresse pour vous faire une idée ./>http://davidmagnetiseur.com/contact.html j'avoue que je suis pas tres fort en site web . David
Portekoi Posté 28 Avril 2011 Posté 28 Avril 2011 Bonjour, Solution 1 : 1 - Tu dois renommer ta page "contact.html" en "contact.php" 2 - Dans ton code, modifie ceci : <form method="post" action="mailto:david@davidmagnetiseur.com" method="post"> par cela : <form method="post" action="contact.php" method="post"> Et ajoute le code php au début de ton fichier Solution 2 (mais attention, tu ne pourras pas gérer le fait qu'il y a une erreur sur l'envoi du mail) : 1 - Créer une nouvelle page que tu appelleras "send-mail.php" 2 - Dans ce nouveau fichier, copie/colle le code suivant : <?phpif(isset($_POST['email']) && isset($_POST['texte'])){$headers = 'MIME-Version: 1.0' . "\r\n";$headers .= 'Content-type: text/html; charset=utf-8' . "\r\n";$headers .= 'From: '.$_POST['email'].' <'.$_POST['email'].'>' . "\r\n";$mail = "Message de ".$_POST['email'].", adresse IP ".$_SERVER['REMOTE_ADDR']." <br /><br />";$mail.= nl2br(addslashes(htmlspecialchars($_POST['texte']))); // addslashes -> on ajoute des \ devant les ' et "// htmlspecialchars -> convertion des < > etc en <, etc// nl2br -> on convertit les nouvelles lignes (\n, \r ou simple retour chariot) du formulaire en <BR />.mail("TON_ADRESSE_MAIL", "SUJET_DU_MAIL", $mail, $headers)header("location:contact.html");}?> 3 - remplace dans ton code ceci : <form method="post" action="mailto:david@davidmagnetiseur.com" method="post"> par cela : <form method="post" action="send-mail.php" method="post"> Portekoi
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant