Rechercher : dans
Par :

Envoi d'un mail en javascript/php

Dernière réponse le 31 oct 2008 à 11:03:57 thibault_developper, le 31 oct 2008 à 10:06:55 
 Signaler ce message aux modérateurs

Bonjour,
J'essaie d'envoyer un mail automatiquement depuis mon formulaire, mais quand je valide le formulaire, outlook s'ouvre automatiquement avec mon mail pret à etre envoyer, alors que je voudrais qu'il s'envoie automatiquement. Je travail sous ZMWS, est ce que le serveur local peut gêner ?? je vous mets le script en dessous si vous trouvez l'erreur merci !!!


<?php
$defaultnom = "Entre votre nom ici";
$defaultprenom = "Entre votre prenom ici";
$defaultemail = "Entrez votre email ici";
$defaultmessage = "Entrez votre message ici";
?>

<form action="mailto:revel.thibault@hotmail.fr?subject=formulaire site web" method="post" id="formulaire" enctype="text/plain" name="contact">
<table>
<tr>
<td>
Nom :
</td>
<td>
<input type="text" name="nom" class="input" value="<?php echo $defaultnom; ?>" onFocus="if(this.value=='<?php echo $defaultnom; ?>') this.value='';" onblur="if(this.value=='') this.value='<?php echo $defaultnom; ?>';">
</td>
<td>
<font color="#FF0000">*</font>
</td>
</tr>
<tr>
<td>
Prenom :
</td>
<td>
<input type ="text" name="prenom" class="input" value="<?php echo $defaultprenom; ?>" onFocus="if(this.value=='<?php echo $defaultprenom; ?>') this.value='';" onblur="if(this.value=='') this.value='<?php echo $defaultprenom; ?>';">
</td>
</tr>
<tr>
<td>
Email :
</td>
<td>
<input type="text" name="email" class="input" value="<?php echo $defaultemail; ?>" onFocus="if(this.value=='<?php echo $defaultemail; ?>') this.value='';" onblur="if(this.value=='') this.value='<?php echo $defaultemail; ?>';">
</td>
<td>
<font color="#FF0000"> *</font>
</td>
</tr>
<tr>
<td>
Message :
</td>
<td>
<textarea cols="12" rows="5" name="message" class="input" value="<?php echo $defaultmessage; ?>" onFocus="if(this.value=='<?php echo $defaultmessage; ?>') this.value='';" onblur="if(this.value=='') this.value='<?php echo $defaultmessage; ?>';"></textarea>
</td>
<td>
<font color="#FF0000">*</font>
</td>
</tr>
<tr>
<td>
<input type="submit" name="envoyer" value="Envoyer" class="submit" onClick="controle();">
</td>
<td>
<input type="reset" name="reset" value="réinitialiser">
</td>
</tr>
<tr>
<td>
</td>
<td>
<font color="#FF0000">* Champs obligatoire</font>
</td>
</tr>
</table>
</form>

Configuration: Windows Vista
Firefox 3.0.3

Meilleures réponses pour « Envoi d'un mail en javascript/php » dans :
[PHP] Fonction mail() VoirLa fonction mail() est bloquée chez certains des hébergeurs gratuits pour des raisons de sécurité (afin d'éviter le spam notamment), l'adresse ip de la machine qui a demandé le script sera alors indiquée dans le header 'X-MM-Mail-From-IP'. renseignez...
[PHP] Upload de fichiers VoirLe langage PHP permet de gérer des fichiers envoyés (uploadés) grâce à un formulaire HTML. Formulaire d'envoi de fichiers Configuration de PHP pour permettre l'upload Récupération du fichier avec PHP Formulaire d'envoi de fichiers La...
[Langages] Envoyer un mail avec pièce jointe VoirLes mails, tout comme les pages web, sont livrés avec des en-têtes (headers en anglais). Ces en-têtes servent à donner quelques détails nécessaires comme l'adresse du destinataire, celle de l'envoyeur, la date de l'envoi, le sujet du mail etc. Elles...
PHP - Mail et fonctions réseau VoirPHP étant un langage consacré au Web, il possède bien évidemment des fonctions lui permettant de communiquer avec le "monde extérieur" à l'aide de fonctions standards. Le service le plus utilisé sur Internet étant la messagerie électronique, il est...

1

Mystell, le 31 oct 2008 à 10:17:18

Tu fais un form action mailto donc c'ets normal que ca ouvre la messagerie par défaut.

Si tu veux envoyer le mail automatiquement il faut utiliser php et la fonction mail() de php.
http://fr.php.net/mail

Le mieux c'est de faire un :
<form action="sendmail.php" method="post" id="formulaire" enctype="text/plain" name="contact">

Et dans ta page sendmail.php tu récupère tes variables par $_POST['nom'] $_POST['prenom'] etc...

Et une fois le mail envoyé tu utilise la fonction header() pour revenir à la page précédente.
http://fr.php.net/manual/fr/function.header.php

Répondre à Mystell

2

thibault_developper, le 31 oct 2008 à 10:48:02

J'essaie de faire comme tu m'as dit mais le script me retourne cet erreur, j'ai essayer de commencer pas le plus simple possible en utilisant la fonction mail au plus simple.Si quelqu'un sait merci ???

Warning: mail() [function.mail]: "sendmail_from" not set in php.ini or custom "From:" header missing in C:\Users\thibault\Documents\ZMWS\_web.zmwsc\LCC\sendmail.php on line 7

ma page senmail.php :

<?php
$expediteur = $_POST['email'];
$message = $_POST['message'];
$message = wordwrap($message, 70);
$subject = 'Formulaire site LCC';
$mail_sent = mail('revel.thibault@hotmail.fr', $subject, $message);

if($mail_sent)
{
header("Location: contact.php/");
exit();
}
?>

Répondre à thibault_developper

3

 Mystell, le 31 oct 2008 à 11:03:57

C'est un simple warning parcequ'il aimerait bien un form bien que celui ci ne soit pas indispensable.

Eexemple:
<?php
$to = 'personne@example.com';
$subject = 'le sujet';
$message = 'Bonjour !';
$headers = 'From: webmaster@example.com' . "\r\n" .
'Reply-To: webmaster@example.com' . "\r\n" .
'X-Mailer: PHP/' . phpversion();

mail($to, $subject, $message, $headers);
?>

Répondre à Mystell
Collection CommentÇaMarche.net