Envoi d'un mail en javascript/php
thibault_developper
Messages postés
35
Date d'inscription
Statut
Membre
Dernière intervention
-
Mystell -
Mystell -
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>
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>
A voir également:
- Envoi d'un mail en javascript/php
- Programmer envoi mail gmail - Guide
- Envoi mail cci - Guide
- Windows live mail - Télécharger - Mail
- Gmail envoyer un mail - Guide
- Publipostage mail - Accueil - Word
3 réponses
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.
https://www.php.net/manual/en/function.mail.php
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.
https://www.php.net/manual/fr/function.header.php
Si tu veux envoyer le mail automatiquement il faut utiliser php et la fonction mail() de php.
https://www.php.net/manual/en/function.mail.php
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.
https://www.php.net/manual/fr/function.header.php
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();
}
?>
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();
}
?>
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);
?>
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);
?>