Bienvenue! Identification Créer un nouveau profil

Recherche avancée

pb fonction mail()

Philippe BOUVARD
06/02/04 12:00
Bonjour,

Je viens d'écrire un formulaire pour envoyer des mails sans passer par la commande mailto. J'utilise HTML/PHP.
Je viens de mettre ma page sur le net (multimania : on m'a dit qu'il supportait la fonction mail()) mais qiand je souhaite envoyer un message via le formulaire, le message est bien envoyé mais n'est jamais recu...
Est-ce qu'il faut configurer quelque chose pour envoyer/recevoir des messages avec mail().

Pour indicaton, voici le source de ma page :

<html>
<head>
<title>Envoyer un mail</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>


<body bgcolor="#FFFFFF" text="#000000">
<div align="center">
<p><b>Envoyer un mail</b></p>
<p align="left">&nbsp;</p>
<form action="envoimail.php" method="post">
<p align="left">Votre nom (*) : &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<input type="text" name="monNom" size="60" maxlength="60" value=<?php echo $_POST['monNom'];?> >
</p>
<p align="left">Votre pr&eacute;nom (*) : &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<input type="text" name="monPrenom" size="60" maxlength="60" value=<?php echo $_POST['monPrenom'];?> >
</p>
<p align="left">Adresse postale : &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<input type="text" name="adressePostale" size="60" maxlength="60" value=<?php echo $_POST['adressePostale'];?> >
</p>
<p align="left">T&eacute;l&eacute;phone : &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<input type="text" name="telephone" size="60" maxlength="60" value=<?php echo $_POST['telephone'];?> >
</p>
<p align="left">Adresse e-mail du destinataire (*) :&nbsp;&nbsp;
<input type="text" name="adresseDestinataire" size="60" maxlength="60" value=<?php echo $_POST['adresseDestinataire'];?> >
</p>

<p align="left"> Votre e-mail (*) : &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<input type="text" name="monAdresse" size="60" maxlength="60" value=<?php echo $_POST['monAdresse'];?> >
</p>
<p align="left">Objet du message (*) : &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<input type="text" name="objet" size="60" maxlength="60" value=<?php echo $_POST['objet'];?> >
</p>
<p align="left">Votre message (*) disappointed smiley/p>
<textarea name="message" rows="10" cols="60"><?php echo $_POST['message'];?></textarea>
<br><br><input type="submit" value="Envoyer">&nbsp;
<input type="hidden" name="premierPassage" value="non">
</form>
</div>

(*) : champs obligatoire<br><br>
<?php

// cette fonction permet de vérifier si un mail est valide : un seul @, tous les champs remplis...
function verif_mail($adresse_email,$nomChamps)
{
$pop=split( "@", $adresse_email);
$adresse_email_user=$pop[0];
$adresse_email_host=$pop[1];
$adresse_email_rest=$pop[2];

if (($adresse_email_user==""winking smiley || ($adresse_email_host==""winking smiley || ($adresse_email_rest!=""winking smiley || (!ereg("\.",$adresse_email_host))) {
echo "ERREUR : $adresse_email invalide ! ($nomChamps)<br>";
$erreur++;
return 1;
}
return 0;
}

// on récupère toutes les données envoyées précédemment
$monNom=$_POST['monNom'];
$monPrenom=$_POST['monPrenom'];
$adresseDestinataire=$_POST['adresseDestinataire'];
$premierpassage=$_POST['premierPassage']; // permet de savoir si l'utilisateur a déjà cliquer sur le bouton envoyer
$monAdresse=$_POST['monAdresse'];
$objet=$_POST['objet'];
$message=$_POST['message'];
$erreur=0; // nombre d'erreurs relevées

// on regarde si tous les champs obligatoires ont été renseignés.
// sinon on incrémente le nombre d'erreurs => impossible d'envoyer un mail
if ((strlen($monNom)==0) && ($premierpassage=="non"winking smiley)
{
echo "ERREUR : il faut remplir le champs <i>Votre nom</i><br>";
$erreur++;
}

if ((strlen($monPrenom)==0) && ($premierpassage=="non"winking smiley)
{
echo "ERREUR : il faut remplir le champs <i>Votre pr&eacute;nom</i><br>";
$erreur++;
}
if ((strlen($adresseDestinataire)==0) && ($premierpassage=="non"winking smiley)
{
echo "ERREUR : il faut remplir le champs <i>Adresse du destinataire</i><br>";
$erreur++;
}
else
{
if ($premierpassage=="non"winking smiley // vérification du format de l'adresse mail
{
$nomChamps="Adresse du destinataire";
$erreur=$erreur+verif_mail($adresseDestinataire,$nomChamps);
}
}

if ((strlen($monAdresse)==0) && ($premierpassage=="non"winking smiley)
{
echo "ERREUR : il faut remplir le champs <i>Votre adresse</i><br>";
$erreur++;
}
else
{
if ($premierpassage=="non"winking smiley // vérification du format de l'adresse mail
{
$nomChamps="Votre adresse";
$erreur=$erreur+verif_mail($monAdresse,$nomChamps);
}
}
if ($premierpassage=="non"winking smiley
{
if ((strcmp($adresseDestinataire,$monAdresse)==0) && (strcmp($adresseDestinataire,""winking smiley!=0)){
echo "ERREUR : les deux adresses emails entrées sont identiques !<br>";
$erreur++;
}
}
if ((strlen($objet)==0) && ($premierpassage=="non"winking smiley)
{
echo "ERREUR : il faut remplir le champs <i>Objet du message</i><br>";
$erreur++;
}
if ((strlen($message)==0) && ($premierpassage=="non"winking smiley)
{
echo "ERREUR : il faut remplir le champs <i>Votre message</i><br>";
$erreur++;
}

if (($erreur==0)&&($premierpassage=="non"winking smiley) // tous les champs ont été correctement remplis ...
{
if(!mail($adresseDestination,$objet,$message,"From: $monNom $monPrenom < $monAdresse >"winking smiley)
{
// on envoie le mail...
$message="Adresse Postale de l'expéditeur : $adressePostale\n".
"Telephone de l'expéditeur : $telephone\nMessage :\n\n$message";
echo "Le mail a été correctement envoyé à l'adresse <i>$adresseDestinataire</i><br>";
$adresseProchainePage="envoimail.php";
echo "<center><A HREF=".$adresseProchainePage.">Envoyer un autre mail</A><center>";
}
else echo "ERREUR : une erreur s'est produite durant l'envoi du mail";
}
?>

</body>
</html>
SujetAuteurEnvoyé le

pb fonction mail()

Philippe BOUVARD06/02/04 12:00

Re: pb fonction mail()

Hervé Inisan09/02/04 21:57

Re:Re: pb fonction mail()

Philippe BOUVARD11/02/04 08:36

Seuls les utilisateurs enregistrés peuvent poster des messages dans ce forum.

Cliquez ici pour vous connecter