Page 1 sur 1

Problème formulaire mail

Posté : 24 août 2024, 11:37
par sokratt
Bonjour à toutes et tous,

Après plusieurs essais infructueux, je me tourne vers des personnes (beaucoup) plus qualifiées que moi en php...

Je rencontre un problème avec mon formulaire de contact incluant une fonction mail qui me renvoie une erreur d'envoi sans que je ne comprenne d'où elle peut venir...
J'ai essayé plusieurs scripts des plus simples aux plus évolués et le problème apparait toujours...

Je vous laisse ci-dessous le code html :

Code : Tout sélectionner

<form action="contact_test.php" method="post"> Mail : <input type="text" name="mail"> <br> Sujet : <input type="text" name="sujet"> <br> Message : <textarea name="message" cols="40" rows="20"></textarea> <br> <input type="submit" name="envoyer" value="Envoyer"> </form>
Et le code de la page appelée "contact_test" :

Code : Tout sélectionner

<?php $votre_adresse_mail = 'mon_adresse_mail'; if(isset($_POST['envoyer'])){ if(empty($_POST['mail'])) { echo "<p>Le champ mail est vide.</p>"; }elseif(!preg_match("#^[a-z0-9_-]+((\.[a-z0-9_-]+){1,})?@[a-z0-9_-]+((\.[a-z0-9_-]+){1,})?\.[a-z]{2,}$#i", $_POST['mail'])){ echo "<p>L'adresse mail entrée est incorrecte.</p>"; }elseif(empty($_POST['sujet'])){ echo "<p>Le champ sujet est vide.</p>"; }elseif(empty($_POST['message'])){ echo "<p>Le champ message est vide.</p>"; }else{ $mail_de_lutilisateur = $_POST['mail']; $entetes_du_mail = []; $entetes_du_mail[] = 'MIME-Version: 1.0'; $entetes_du_mail[] = 'Content-type: text/html; charset=UTF-8'; $entetes_du_mail[] = 'From: Nom de votre site <' . $mail_de_lutilisateur . '>'; $entetes_du_mail[] = 'Reply-To: Nom de votre site <' . $mail_de_lutilisateur . '>'; $entetes_du_mail = implode("\r\n", $entetes_du_mail); $sujet = '=?UTF-8?B?' . base64_encode($_POST['sujet']) . '?='; $message = htmlentities($_POST['message'], ENT_QUOTES, 'UTF-8'); if(mail($votre_adresse_mail, $sujet, $message, $entetes_du_mail)){ echo "<p>Le mail à été envoyé avec succès !</p>"; }else{ echo "<p>Une erreur est survenue, le mail n'a pas été envoyé.</p>"; } } } ?>
Au besoin, mon hébergeur est Ionos.
Merci d'avance pour votre aide.

Re: Problème formulaire mail

Posté : 24 août 2024, 17:30
par or 1

Re: Problème formulaire mail

Posté : 25 août 2024, 11:04
par @rthur
Bonjour,

Si tu testes ton code en local, la raison probable c'est que tu n'as pas de serveur mail installé sur ton ordi, donc c'est normal que celà échoue.
Si tu testes ton code chez un hébergeur, mon conseil serait de reprendre dans un nouveau script exactement le code exemple de la fonction mail() de la documentation PHP sans rien ajouter de plus (à part ton adresse e-mail bien sûr) et si ça ne fonctionne pas contactes ton hébergeur.