Problème envoi mail par php

Bonjour, j'ai un problème. J'ai créer un formulaire sur mon site mais je n'arrive pas a recevoir le formulaire rempli sur ma boite mail. Voici mon code:

<?php
//options

$showonlygamingsquads = true;  //only show gaming squads (=true) or show all squads (=false)?

//php below this line ;)

$action = $_GET['action'];

if($action=="save") {

  $squad = $_POST['squad'];
  $nick = $_POST['nick'];
  $name = $_POST['name'];
  $email = $_POST['email'];
  $messenger = $_POST['messenger'];
  $age = $_POST['age'];
  $city = $_POST['city'];
  $clanhistory = $_POST['clanhistory'];
  $info = $_POST['info'];

	$CAPCLASS = new Captcha;
	if(!$CAPCLASS->check_captcha($_POST['captcha'], $_POST['captcha_hash'])) {
			$error="Mauvais code de s&eacute;cirut&eacute;!";
		die('<b>ERROR: '.$error.'</b><br><br><input type="button" class="button" onClick="javascript:history.back()" value="Retour">');
	}
	if(!(strlen(trim($nick)))) {
	    $error="Vous avez oubli&eacute; d\'entrer votre pseudo!";
		die('<b>ERROR: '.$error.'</b><br><br><input type="button" class="button" onClick="javascript:history.back()" value="Retour">');
	}
	if(!(strlen(trim($name)))) {
	    $error="Vous avez oubli&eacute; d\'entrer votre vrai nom!";
		die('<b>ERROR: '.$error.'</b><br><br><input type="button" class="button" onClick="javascript:history.back()" value="Retour">');
	}
	if(!(strlen(trim($messenger)))) {
	    $error="Vous  n\'avez pas de client de massagerie instantann&eacute;e ?";
		die('<b>ERROR: '.$error.'</b><br><br><input type="button" class="button" onClick="javascript:history.back()" value="Retour">');
	}
	if(!(strlen(trim($age)))) {
	    $error="Vous avez oubli&eacute; d\'entrer votre age!";
		die('<b>ERROR: '.$error.'</b><br><br><input type="button" class="button" onClick="javascript:history.back()" value="Retour">');
	}
	if(!(strlen(trim($city)))) {
	    $error="Vous avez oubli&eacute; d\'entrer le nom de votre ville!";
		die('<b>ERROR: '.$error.'</b><br><br><input type="button" class="button" onClick="javascript:history.back()" value="Retour">');
	}
	$sem = '^[a-z0-9_\.-]+@[a-z0-9_-]+\.[a-z0-9_\.-]+$';
	if(!(eregi($sem, $email))) {
	    $error="Votre email est invalide!";
		die('<b>ERROR: '.$error.'</b><br><br><input type="button" class="button" onClick="javascript:history.back()" value="Retour">');
	}

	$ergebnis=safe_query("SELECT userID FROM ".PREFIX."squads_members WHERE joinmember='1' AND squadID='".$squad."'");
	while($ds=mysql_fetch_array($ergebnis)) {
		$touser[]=$ds[userID];
	}

	if($touser[0] != "") {
	$message = '[b]Un joueur demande &aacute; rejoindre la team ('.$squad.')!/b
         Pseudo: '.$nick.'
         Nom: '.$name.'
         Age: '.$age.'
         Mail: [URL]mailto:'.$email.'/url
         Messenger: '.$messenger.'
         Ville: '.$city.'
         Historique: '.$clanhistory.'

         Information:
         '.$info.'
		 ';
		 
	if( mail('monadresse@email.fr','sujet','$message') ){
echo 'les informations on bien été envoyé!';
}
else{
echo 'une erreur est survenu lors de l\'envoi du message';
}
	foreach($touser as $id) {
    sendmessage($id,'Join us',$message);
   }
	}
	redirect('index.php?site=joinus', 'Merci pour votre demande, vous allez re&ccedil;evoir un mail.');
}
else {
    echo'<h2>Demande de recrutement</h2>';

	if($showonlygamingsquads)	$squads=getgamesquads();
	else $squads=getsquads();

	$CAPCLASS = new Captcha;
	$captcha = $CAPCLASS->create_captcha();
	$hash = $CAPCLASS->get_hash();
	$CAPCLASS->clear_oldcaptcha();
	
	$bg1 = BG_1;

	eval ("\$joinus = \"".gettemplate("joinus")."\";");
    echo $joinus;
}
?>

3 réponses

  1. Bonjour,

    Je n'ai pas vraiment regarder ton code mais pour que tu puisses envoyer le mail, je crois me rappeler qu'il faut un serveur smtp (permettant d'envoyer des mails) !
    1. Le truc c'est que lorsque quelqu'un s'inscrit sur le site il reçoit un mail pour activer son compte. Donc je pense que oui il y a un server smtp.
      1. Bonjour

        Utilises-tu la méthode GET ou la méthode POST pour ton script ?
        tu fais
        $action = $_GET['action'];
        mais aussi
        $squad = $_POST['squad'];
        ça ne me semble pas très cohérent.