Je crée un formulaire de contact et, pour une raison quelconque, lorsque j'utilise des variables dans l'en-tête, l'e-mail n'est pas envoyé. Celui-ci fonctionne:E-mail ne pas envoyer lors de l'utilisation des variables dans l'en-tête
$first_name = (isset($_POST['firstname']) ? $_POST['firstname'] : null);
$last_name = (isset($_POST['lastname']) ? $_POST['lastname'] : null);
$email = (isset($_POST['email']) ? $_POST['email'] : null);
$message = (isset($_POST['message']) ? $_POST['message'] : null);
$mail_to = "MyEmail";
$subject = "Subject";
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'From: '.$first_name.' '.$last_name.' <[email protected]>' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
mail($mail_to, $subject, $message, $headers)
et celui-ci ne
$first_name = (isset($_POST['firstname']) ? $_POST['firstname'] : null);
$last_name = (isset($_POST['lastname']) ? $_POST['lastname'] : null);
$email = (isset($_POST['email']) ? $_POST['email'] : null);
$message = (isset($_POST['message']) ? $_POST['message'] : null);
$mail_to = "MyEmail";
$subject = "Subject";
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'From: '.$first_name.' '.$last_name.' <'.$email.'>'."\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
mail($mail_to, $subject, $message, $headers)
Je parle de ces lignes:
$headers .= 'From: '.$first_name.' '.$last_name.' <[email protected]>'."\r\n";
$headers .= 'From: '.$first_name.' '.$last_name.' <'.$email.'>'."\r\n";
Cela fonctionne jusqu'à ce que j'ajouter la variable email dans les en-têtes , quelqu'un pourrait-il m'expliquer ce que je fais mal?
Port d'escale suivant ... https://stackoverflow.com/questions/11952473/proper-prevention-of-mail-injection-in-php –
Merci beaucoup, je n'y ai pas pensé. – xX4m4zingXx