Aller au contenu

formulaire d'envoi


girafe62

Sujets conseillés

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 -->

Lien vers le commentaire
Partager sur d’autres sites

passes ta page en .php puis fait pointer la page vers elle-même

et ajoute ceci :


<?php

if(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 &lt, 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 :P

Modifié par Aenoa
Lien vers le commentaire
Partager sur d’autres sites

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.

Lien vers le commentaire
Partager sur d’autres sites

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

Lien vers le commentaire
Partager sur d’autres sites

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 :


<?php

if(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 &lt, 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

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...