Envoie de mail sur hebergement perso.

Anabella
Invité n'ayant pas de compte PHPfrance

03 déc. 2008, 12:45

Bonjour!

J'ai une petite question...

J'heberge mon site sur mon pc, et une des pages comprend un code d'envoi de mail. Mais cela ne fonctionne pas. Dois-je installer quelque chose en particulier pour pouvoir en envoyer?

Voici le bout de code en question :

<?php

/**
 * Script d'envoi de courriels
 */
 
if ($_POST['envoi']) {    //Si on a déjà envoyé une première fois les données
    $erreur = 0;    //On met le compteur d'erreur à 0
    
    if (empty($_POST['prenom']) || empty($_POST['nom'])) {    //Si le prénom ou le nom est manquant :
        $erreur="Informations non valides. Vérifiez vos informations.";    //On retourne un message d'erreur...
        return;    //... et on arrête l'exécution du script.
    };
    
//Si on n'a pas d'erreur, on construit puis on envoie le courriel, puis on affiche une erreur positive
$courriel = "[email protected]";
$sujet = "Abonnement de ".$_POST['prenom']." ".$_POST['nom'];
$message = "Ce message confirme l'adhésion de ".$_POST['prenom']." ".$_POST['nom']." à l'association";
mail($courriel,$sujet,$message);
$erreur="Votre abonnement a bien été envoyée à l'association !";

//Puis, qu'on ait ou non envoyé l'adhésion, on affiche le formulaire

}

?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<head>
    <title>S'inscrire à l'association</title>
</head>

<body>

<?php if ($erreur) :
//Si on a reçu une erreur lors d'un envoi précédent, on affiche le message d'erreur
?>
<div>
    <p><?php echo $erreur; ?></p>
</div>
<?php endif; ?>

<form method="post" action="<?php $PHP_SELF; ?>">
    <ul style="list-style: none;">
        <li><label>Préom&nbsp;: <input type="text" id="prenom" name="prenom" value="<?php echo $_POST['prenom'] ?>" /></label></li>
        <li><label>Nom&nbsp;: <input type="text" id="nom" name="nom" value="<?php echo $_POST['nom'] ?>" /></label></li>
        <li><input type="submit" value="Envoyer" /><input type="hidden" id="envoi" name="envoi" value="1" /></li>
    </ul>
</form>

</body>
</html>

Mammouth du PHP | 1353 Messages

03 déc. 2008, 13:03

Bonjour,

Pour que cela fonctionne il faut que le php.ini soit configuré correctement au niveau du server de mails...

Quelques pistes pour faire cela en local :

http://www.phpfrance.com/forums/voir_sujet-3928.php
Tell me and I forget. Teach me and I remember. Involve me and I learn.