Problème de réception de mail lié à un formulaire

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Problème de réception de mail lié à un formulaire

Re: Problème de réception de mail lié à un formulaire

par Shadowwera » 13 juil. 2021, 15:29

Salut,

Je te conseille très fortement de passé à PHPMailer pour faire ce genre de chose : https://github.com/PHPMailer/PHPMailer

Il s'occupera pour toi d'éviter certaines failles de sécurité et faire en sorte, entre autre, que tes mails ne finissent pas dans la boite de spam

En plus de ça, il est très facile d'utilisation et bien documenté

Problème de réception de mail lié à un formulaire

par Eric1978 » 13 juil. 2021, 12:06

Bonjour à tous,

Je viens solliciter votre aide car je m'arrache les cheveux depuis hier sur un problème.
Je veux recevoir un mail reprenant les données renseignés par l'utilisateur dans un formulaire.
Tout cela fonctionne très bien lors de mes essais en local, tout est nickel !
Mais ça ne fonctionne plus lorsque je mets le site en ligne (mon frère m'a laissé une place sur son hébergeur DRI).
Pas de message d'erreur spécifique, le mail semble bien partir, mais je ne reçois rien dans ma boîte de destination.

Voici mes extraits de code :

HTML:
<form action="confirmformulaire.php" method="post">
<div>
<label for="name" class="intitule">Nom :</label>
<input type="text" id="name" required name="user_name" />
</div>
<div>
<label for="mail" class="intitule">e-mail :</label>
<input type="email" id="mail" required name="user_mail" />
</div>
<div>
<label for="phone" class="intitule">Téléphone : <a class="afacultatif"> (facultatif)</a></label>
<input type="tel" id="phone" name="user_phone" pattern="[0-9]{10}" maxlength="10" />
</div>

<div>
<label for="msg" class="intitule">Message :</label>
<textarea id="msg" required name="user_message"></textarea>
</div>

<div class="conteneurbutton2">
<button id="button2" type="submit" name="envoi">Envoyer le message</button>
</div>
</form>

PHP :
<?php
if (!empty($_POST)) {

$nom = $_POST['user_name'] ;
$mail = $_POST['user_mail'] ;
$phone = $_POST['user_phone'] ;
$message = $_POST['user_message'] ;

//ini_set("SMTP", "smtp.xxxx .fr"); (à utiliser uniquement pour les tests en local)

$mailheaders = "MIME-Version: 1.0\n";
$mailheaders .= "Content-type: text/html; charset=ISO-8859-1\n";
$mailheaders .= 'Reply-To: '.$mail."\n";
$mailheaders .= 'From: ' .$mail."\n";

$msg = '<h1>Message envoyé depuis la page Contact de mon site</h1>
<p><b>Nom : </b>' .$nom. '<br>
<b>Email : </b>' .$mail.'<br>
<b>Téléphone : </b>' .$phone.'<br>
<b>Message : </b>' .$message. '</p>';

$recipient = "monmail";
$subject = "Réponse au Formulaire";

mail($recipient, $subject, $msg, $mailheaders);
}
?>

Merci par avance de votre aide et bonne journée.