Erreur with send mail with php code

Fermé
Signaler
-
 magicheater -
bonjour,

je rencontre quelques soucis dans la realisation de mon site

je souhaite utiliser la fonction "mail" de php pour envoyer automatiquement un mail a un utilisateur.

mais la fonction ne fonctionne pas

j'utilise l'expression la plus simple mail('email_destinataire', 'sujet', 'message');

voici ma code mail.php
<html>
<body>
<form name="form" method="post" action="mail.php">
Nom: <input name="nom" /> <br />
Prenom: <input name="prenom" /> <br />
Ville: <input name="ville" /> <br />
<input type="submit" value="Envoyer" />
</form>
</body>
</html>

<?php

if( isset($_POST['nom']) && isset($_POST['prenom']))
{
if( $_POST['nom']!="" && $_POST['prenom']!="")
{
$destinataire='ktorkhani@yahoo.fr';

$headers = 'MIME-Version: 1.0'."\n";
$headers .= 'Content-Type: text/html; charset=\"iso-8859-1\"\r\n';

$message_texte='Le Nom: ' . $_POST['nom'] . "<br />" ;
$message_texte.='Le Prenom: ' . $_POST['prenom'] . "<br />";
$message_texte.='La Ville: ' . $_POST['ville'] . "<br />";

$message=
"<html><body>" .
"<h1>Test Email</h1><br />".
$message_texte .
"</body></html>";

/**
ICI CODE POUR ENREGISTRER DANS LA BASE DE DONNEE
**/

if(mail($destinataire,"Information",$message,$headers))
{
echo 'Le mail a été envoyé';
}
else
{
echo 'Le mail n\'a pu être envoyé';
}

}
else
{
echo "champ(s) vide";
}
}

?>



j'ai le message : "'Le mail n'a pu être envoyé"


aide moi stp
je suis débutante avec php...
merci d'avance



1 réponse

La fonction mail() en php nécessite d'avoir accès à un serveur de messagerie, autre que Apache qui sert à faire fonctionner le php.
En général smtp ou POP3,POP4(il s'agit du type de protocole du serveur d'envoi de mail).
Le problème est courant en local ou seul Apache est installé avec les packs comme easyPHP, WAMP/LAMP server, movamp, etc...

Essayez sans le if(mail(..., juste avec mail(...); pour voir l'erreur qui s'affiche(la fonction mail n'ayant pas aboutie il se produit une error ou un warning s'affichant par défaut tant que l'on ,e configure pas le contraire).


Vous pouvez tester la fonction mail() directement sur le serveur de l'hébergeur qui lui a certainement un serveur de messagerie disponible ou configurer en local un serveur de messagerie, sur ce dernier point ne l'ayant jamais fait je ne peut vous renseigner.