5 réponses
avion-f16
Messages postés
19250
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
22 décembre 2024
4 505
6 nov. 2009 à 19:46
6 nov. 2009 à 19:46
Tu dois utiliser un script PHP.
avion-f16
Messages postés
19250
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
22 décembre 2024
4 505
6 nov. 2009 à 20:03
6 nov. 2009 à 20:03
Oui.
Pour informations, on est obligé de passer par un serveur SMTP pour envoyer des emails.
Avec un script côté client comme le XHTML, il faut donc que le client aie un serveur SMTP → le client mail s'ouvre
Avec un script côté serveur comme le PHP, le serveur est souvent configurer pour utiliser un serveur SMTP mais ça dépends de l'hébergeur.
Renommes ta page en .php et voilà le script
Pour informations, on est obligé de passer par un serveur SMTP pour envoyer des emails.
Avec un script côté client comme le XHTML, il faut donc que le client aie un serveur SMTP → le client mail s'ouvre
Avec un script côté serveur comme le PHP, le serveur est souvent configurer pour utiliser un serveur SMTP mais ça dépends de l'hébergeur.
Renommes ta page en .php et voilà le script
<?php if($_POST['submitForm'] == 'true') { $nom = trim($_POST['nom']); $prenom = trim($_POST['prenom']); $tel = trim($_POST['tel']); $mail = trim($_POST['mail']); $message = trim($_POST['message']); if( empty($nom) || empty($prenom) || empty($tel) || empty($mail) || empty($message) ) { echo 'Vous devez remplir tous les champs !'; } else { if(!preg_match("#^[a-z0-9._-]+@[a-z0-9._-]{2,}\.[a-z]{2,4}$#i")) { echo 'Adresse email invalide !'; } else { $to = 'palbe@orange.fr'; $subject = 'Contact depuis le site'; $message = ''; foreach($_POST as $k => $v) { $message .= $k.' : '.$v."\n"; } $headers = 'From: webmaster@example.com'."\r\n". 'Reply-To: '.$mail."\r\n" . 'X-Mailer: PHP/'.phpversion(); if(mail($to, $subject, $message, $headers)) { echo 'Mail envoyé !'; } else { echo 'Erreur lors de l\'envoye du mail'; } } } } else { ?><form action="" method="post"> <p> <label for="nom"Nom : </label> <input type="text" name="nom" id="nom" size="20" maxlength="256" /> </p> <p> <label for="prenom">Prénom : </label> <input type="text" name="prenom" id="prenom" size="20" maxlength="256" /> </p> <p> <label for="tel">Téléphone : </label> <input type="text" name="tel" id="tel" size="20" maxlength="256" /> </p> <p> <label for="mail">E-Mail : </label> <input type="text" name="mail" id="mail" size="20" maxlength="256" /> </p> <p> <label for="message">Votre message :</label><br/> <textarea name="message" id="message" cols="30" rows="10"></textarea> </p> <p> <input type="submit" value="envoyer" /> <input type="hidden" name="submitForm" value="true" /> </p> </form><?php } ?>
avion-f16
Messages postés
19250
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
22 décembre 2024
4 505
6 nov. 2009 à 22:13
6 nov. 2009 à 22:13
Ta page doit avoir l'extension ".php" et doit être sur un serveur.
Voilà mon script corrigé (la ligne "From") :
Voilà mon script corrigé (la ligne "From") :
<?php if($_POST['submitForm'] == 'true') { $nom = trim($_POST['nom']); $prenom = trim($_POST['prenom']); $tel = trim($_POST['tel']); $mail = trim($_POST['mail']); $message = trim($_POST['message']); if( empty($nom) || empty($prenom) || empty($tel) || empty($mail) || empty($message) ) { echo 'Vous devez remplir tous les champs !'; } else { if(!preg_match("#^[a-z0-9._-]+@[a-z0-9._-]{2,}\.[a-z]{2,4}$#i")) { echo 'Adresse email invalide !'; } else { $to = 'palbe@orange.fr'; $subject = 'Contact depuis le site'; $message = ''; foreach($_POST as $k => $v) { $message .= $k.' : '.$v."\n"; } $headers = 'From: '.$mail."\r\n". 'Reply-To: '.$mail."\r\n" . 'X-Mailer: PHP/'.phpversion(); if(mail($to, $subject, $message, $headers)) { echo 'Mail envoyé !'; } else { echo 'Erreur lors de l\'envoye du mail'; } } } } else { ?><form action="" method="post"> <p> <label for="nom"Nom : </label> <input type="text" name="nom" id="nom" size="20" maxlength="256" /> </p> <p> <label for="prenom">Prénom : </label> <input type="text" name="prenom" id="prenom" size="20" maxlength="256" /> </p> <p> <label for="tel">Téléphone : </label> <input type="text" name="tel" id="tel" size="20" maxlength="256" /> </p> <p> <label for="mail">E-Mail : </label> <input type="text" name="mail" id="mail" size="20" maxlength="256" /> </p> <p> <label for="message">Votre message :</label><br/> <textarea name="message" id="message" cols="30" rows="10"></textarea> </p> <p> <input type="submit" value="envoyer" /> <input type="hidden" name="submitForm" value="true" /> </p> </form><?php } ?>
Bonjour,
J'ai toujours deux lignes de codes qui apparaissent sur ma page de formulaire !!
Les voici :
$v) { $message .= $k.' : '.$v."\n"; } $headers = 'From: '.$mail."\r\n". 'Reply-To: '.$mail."\r\n" . 'X-Mailer: PHP/'.phpversion(); if(mail($to, $subject, $message, $headers)) { echo 'Mail envoyé !'; } else { echo 'Erreur lors de l\'envoye du mail'; } } } } else { ?>
Merci pour ton aide
arthur73
J'ai toujours deux lignes de codes qui apparaissent sur ma page de formulaire !!
Les voici :
$v) { $message .= $k.' : '.$v."\n"; } $headers = 'From: '.$mail."\r\n". 'Reply-To: '.$mail."\r\n" . 'X-Mailer: PHP/'.phpversion(); if(mail($to, $subject, $message, $headers)) { echo 'Mail envoyé !'; } else { echo 'Erreur lors de l\'envoye du mail'; } } } } else { ?>
Merci pour ton aide
arthur73
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
avion-f16
Messages postés
19250
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
22 décembre 2024
4 505
7 nov. 2009 à 14:00
7 nov. 2009 à 14:00
Ce n'est pas possible. Vérifie que ta page aie bien l'extension ".php" au lieu de ".html".
Ensuite, tu dois lancer le script quand il est sur le serveur, pas en l'ouvrant avec un clic droit.
Ensuite, tu dois lancer le script quand il est sur le serveur, pas en l'ouvrant avec un clic droit.