par
estyaah » 04 juil. 2007, 12:28
Bonjour,
J'ai actuellement un problème avec la fonction mail().
En effet, j'ai un serveur web avec apache et php5 sur une mandriva 2007. Une des pages de mon site est un formulaire, dont la validation provoque (normalement) l'envoi d'un mail avec les données du formulaire. Jusque là, pas de problème. Le problème c'est que la fonction échoue à chaque fois (retourne false), et dans mon fichier de log http (var/log/http/error_log), je vois la ligne suivante :
mail: no recipients given
Ors, je remplis bien le champ correspondant au destinataire ; et même si je le met manuellement, cela me rend la même erreur...
voici le code :
Code : Tout sélectionner
$destinataire = "[email protected]";
$sujet = "Faute";
$from = "From:serveur@monnomdedomaine\n";
$from .= "MIME-version: 1.0\n";
$from .= "Content-type: text/html; charset= iso-8859-1\n";
$from .='Content-Transfer-Encoding: 8bit';
$message =
"\npage : ".$_POST['nompage'].
"\nlieu : ".$_POST['lieu'].
"\nphrase erronée : ".$_POST['phrase'].
"\ncorrection : ".$_POST['correction'];
if(mail($destinataire,$sujet,$message,$from))
{
header('Location: index.php?page=accueil');
}
else
{
echo "échoué : <br>".$destinataire."<br>".$sujet."<br>".$message."<br><br><br>";
echo '<a href="index.php?page=fautes">Retour</a>';
}
Je tiens à préciser que j'ai aussi essayé sans la variable $from :
mail($destinataire,$sujet,$message)
car cette partie est facultative. Neanmoins, cela renvoit toujours la même erreur...
Sinon, depuis le serveur, en ligne de commande, je peux envoyer des mails sans problème, donc il ne semble pas que cela vienne de là... Merci d'avance pour votre aide!
Bonjour,
J'ai actuellement un problème avec la fonction mail().
En effet, j'ai un serveur web avec apache et php5 sur une mandriva 2007. Une des pages de mon site est un formulaire, dont la validation provoque (normalement) l'envoi d'un mail avec les données du formulaire. Jusque là, pas de problème. Le problème c'est que la fonction échoue à chaque fois (retourne false), et dans mon fichier de log http (var/log/http/error_log), je vois la ligne suivante :
mail: no recipients given
Ors, je remplis bien le champ correspondant au destinataire ; et même si je le met manuellement, cela me rend la même erreur...
voici le code :
[code]
$destinataire = "
[email protected]";
$sujet = "Faute";
$from = "From:serveur@monnomdedomaine\n";
$from .= "MIME-version: 1.0\n";
$from .= "Content-type: text/html; charset= iso-8859-1\n";
$from .='Content-Transfer-Encoding: 8bit';
$message =
"\npage : ".$_POST['nompage'].
"\nlieu : ".$_POST['lieu'].
"\nphrase erronée : ".$_POST['phrase'].
"\ncorrection : ".$_POST['correction'];
if(mail($destinataire,$sujet,$message,$from))
{
header('Location: index.php?page=accueil');
}
else
{
echo "échoué : <br>".$destinataire."<br>".$sujet."<br>".$message."<br><br><br>";
echo '<a href="index.php?page=fautes">Retour</a>';
}
[/code]
Je tiens à préciser que j'ai aussi essayé sans la variable $from :
mail($destinataire,$sujet,$message)
car cette partie est facultative. Neanmoins, cela renvoit toujours la même erreur...
Sinon, depuis le serveur, en ligne de commande, je peux envoyer des mails sans problème, donc il ne semble pas que cela vienne de là... Merci d'avance pour votre aide!