J'ai un problème qui ressemble à un problème de débutant. Pourtant, j'ai beau chercher, je n'arrive pas à voir d'où vient l'erreur... Je précise que je ne suis pas un expert en PHP, mais je pense que mon problème, que je vous expose plus loin, est dû à un problème avec ce langage mais je peux me tromper. C'est pourquoi je poste ma question dans la rubique débutant.
En fait, j'ai un formulaire, et un script qui récupère les variables des champs pour envoyer un email. C'est un bête formulaire de contact comme il y en a un peu partout. Ce script fonctionnait très bien sur un site personnel hébergé chez free.
Voici le script en question:
<?php
$ip = getenv("REMOTE_ADDR");
$agent = getenv("HTTP_USER_AGENT");
$aujourdhui = date("d/m/Y H:i:s");
$contents = $ip . "\r\n" . $aujourdhui . "\r\n" . $agent;
$to = 'contact' . '@' . 'monsite.com';
$email = $_POST['email'];
$sujet = '[monsite] ' . $_POST['subject'];
$message = $_POST['body'] . "\r\n\r\n" . "--\r\n" . $contents;
$headers = 'From: ' . $email . "\r\n" .
'Reply-To: ' . $email . "\r\n" .
'X-Mailer: PHP/' . phpversion();
$strippedmessage = stripslashes( $message );
$sujet2 = stripslashes( $sujet );
if ( mail( $to, $sujet2, $strippedmessage, $headers ) ) {
header("location: ../envoi-correct.html");
else {
header("location: ../erreur-envoi.html");
?>
Et voici ce que j'obtiens comme email:Code : Tout sélectionner
Subject: [monsite] essai de sujet
From: [email protected]
Reply-To: [email protected]
X-Mailer: PHP/4.4.3-dev
Date: Wed, 10 Aug 2016 20:32:14
To: [email protected]
Message-Id: <[email protected]>
essai de message
--
xxx.yyy.zzz.ttt
10/08/2016 22:21:27
Mozilla/5.0 (Windows NT 10.0; WOW64; rv:47.0) Gecko/20100101 Firefox/47.0Voilà le morceau de code qui me fait dire ça:
Code : Tout sélectionner
echo '$to = ' . $to . "\r\n";
echo '$sujet2 = ' . $sujet2 . "\r\n";
echo '$strippedmessage = ' . $strippedmessage . "\r\n";
echo '$headers = ' . $headers . "\r\n";Code : Tout sélectionner
<html><head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8"></head><body>$to = [email protected]
$sujet2 = [monsite] Ceci est le sujet
$strippedmessage = Et ceci est le message
--
xxx.yyy.zzz.ttt
10/08/2016 21:57:44
Mozilla/5.0 (Windows NT 10.0; WOW64; rv:47.0) Gecko/20100101 Firefox/47.0
$headers = From: [email protected]
Reply-To: [email protected]
X-Mailer: PHP/7.0.4-7ubuntu2
</body></html><?php
$to = '[email protected]';
$sujet = 'Essai de messagerie';
$message = 'Ceci est le texte de mon message';
$headers = 'From: [email protected]'."\r\n" .
'Reply-To: [email protected]'."\r\n" .
'X-Mailer: PHP/' . phpversion();
if ( mail( $to, $sujet, $message, $headers ) ) {
echo( "cool" );}
else {
echo( "shit" );}
?>
Dans ce cas, je reçois l'email en question à [email protected]. Ca fonctionne! Je n'y comprends plus rien... Est-ce que quelqu'un voit d'où peut venir le problème?Je vous remercie d'avance et je m'excuse pour le cas où ma question serait triviale.