Page 1 sur 1

Probleme d'envoie de mail

Posté : 07 mars 2012, 17:55
par Damb34
Bonjour à tous, voici mon petit probleme.

J'ai créé une page contact.php. Avant tout marchait bien (autant en local que via mon hébergeur lws) et maintenant, la page accuse.php s'ouvre, mais rien dans ma boite mail. Etant donnée que c'est une gmail, est-ce que c'est celle ci les refuse pour phising ou autre, ou est ce mon code, que j'ai peux etre modifié, qui marche plus?

Je demande votre aide, car j'ai essayé pleins de trucs sans succès. Voici la page complete de contact.php
<?php
include('config.php');
?>
<?php

$nb1 = rand(1,5);
$nb2 = rand(1,5);

if(!empty($_POST))
{
	extract($_POST);
	$valid = (empty($nom) || empty($email) || !filter_var($email,FILTER_VALIDATE_EMAIL)
						|| empty($captcha) || !is_numeric($captcha) || $captcha!=base64_decode($check1)+base64_decode($check2)) ? false : true;
	
	$erreurnom = (empty($nom)) ? 'Indiquez votre nom' : '';
	$erreuremail = (empty($email) || !filter_var($email,FILTER_VALIDATE_EMAIL)) ? 'Indiquez un email valide' : '';
	$erreurcaptcha = (empty($captcha) || !is_numeric($captcha) || $captcha!=base64_decode($check1)+base64_decode($check2)) ? 'Resultat invalide' : '';
	
	if($valid)
	{
		
	//Exécution de la requête
	$TO = "[email protected]"; 
	$subject = "Contact"; 
	$h = "From: " . $TO; 
	$message = "Quelqu'un vous contacte"; 
	while (list($key, $val) = each($HTTP_POST_VARS)) { 
	$message .= "$key : $val\n"; 
	} 
	mail($TO, $subject, $message, $h); 
	header("Location:accuse.php");
	}
	
		}
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
	<html xmlns="http://www.w3.org/1999/xhtml">

		<head>

           <title>XXX</title>


                                                                <!--Metas-->

			<meta http-equiv="content-type" content="text/html; charset=utf-8" />
			<meta http-equiv="content-language" content="fr" />

			<link rel="stylesheet" media="all" type="text/css" href="css/contact.css" />
			<link rel="shortcut icon" type="image/x-icon" href="favicon.ico" />

		</head>


		<body>
			<div class="content">
				<?php
				//On affiche un message de bienvenue, si lutilisateur est connecte, on affiche son pseudo
				?>
				<?php if(isset($_SESSION['username'])){echo ' Bonjour '.htmlspecialchars($_SESSION['username'], ENT_QUOTES, 'UTF-8');} ?>
				<?php
				//Si lutilisateur est connecte, on lui donne un lien pour modifier ses informations, pour voir ses messages et un pour se deconnecter
				if(isset($_SESSION['username']))
{
				//On compte le nombre de nouveaux messages que lutilisateur a
				$nb_new_pm = mysql_fetch_array(mysql_query('select count(*) as nb_new_pm from pm where ((user1="'.$_SESSION['userid'].'" and user1read="no") or (user2="'.$_SESSION['userid'].'" and user2read="no")) and id2="1"'));
				//Le nombre de nouveaux messages est stoque dans la variable $nb_new_pm
				$nb_new_pm = $nb_new_pm['nb_new_pm'];
				//On affiche les liens
				?>
				<a href="list_pm.php"> | Vous avez <?php echo $nb_new_pm; ?> messages</a> | <a href="edit_infos.php">Mon compte | </a>
				<a href="connexion.php">Se d&eacute;connecter</a>
				<?php
					}
				else
					{
				//Sinon, on lui donne un lien pour sinscrire et un autre pour se connecter
				?>
				&nbsp; Espace Membre :
				<a href="inscription.php"><img src="images/inscription_bouton.png" style="margin-right:3px;" /> </a>
				<a href="connexion.php"><img src="images/connexion_bouton.png"/></a>
				<?php
				}
				?>
			</div>
			<div id="espace">
			</div>
			<?php include('include/header.inc.php'); ?>
                                                          <!-- corps -->
			<div id="corps">
				<div id="titre"><font color="#000000">Nous  </font><font color="#ba2c3a">contacter</font>
				</div>
				
			
                	<div id="contact_gauche"><p> Vous pouvez nous contactez aussi par voie postale à l'adresse suivante </p><p>XXX<br /> xxx <br/> xxxx</p><br/> <p> Notre numéro de téléphone :<br/>000</p> <p>Notre adresse email : <br/>xxx</p></div>
					<div id="formulaire_contact">
		
						<form action="contact.php" method="post" class="devis_miseenforme">
							<fieldset class="Dev_Inline" id="vos_coordonnees">
								<legend>Le formulaire</legend>
								<p class="Dev_ElemWrap Dev_LabelLeft" id="Dev_ElemWrap001">
									<label id="Dev_Label001" for="Dev_elem001">Nom</label>
									<input class="Dev_elem" type="text" name="nom" value="<?php if(isset($nom)) echo htmlspecialchars($nom,ENT_QUOTES, 'UTF-8');?>" id="Dev_elem001"/>
									<span class="error"><?php if(isset($erreurnom)) echo htmlspecialchars($erreurnom,ENT_QUOTES, 'UTF-8');?></span><span class="Dev_Required">*</span>
								</p>
                
								<p class="Dev_ElemWrap Dev_LabelLeft" id="Dev_ElemWrap001">
									<label id="Dev_Label001" for="Dev_elem001">E-mail</label>
									<input class="Dev_elem" type="text" name="email" value="<?php if(isset($email)) echo htmlspecialchars($email,ENT_QUOTES, 'UTF-8');$email;?>" id="Dev_elem001"/>
									<span class="error"><?php if(isset($erreuremail)) echo htmlspecialchars($erreuremail,ENT_QUOTES, 'UTF-8');?></span><span class="Dev_Required">*</span>
								</p>
                
								<label for="message">Message :</label>
								<textarea class="Dev_elem" name="message" id="Dev_elem357">
								</textarea>
			
								<p style="margin-top:10px;">
									<input type="hidden" name="check1" value="<?php echo base64_encode($nb1);?>" />
									<input type="hidden" name="check2" value="<?php echo base64_encode($nb2);?>" />
			
									<div id="captcha"><?php echo $nb1;?> + <?php echo $nb2;?>
									</div>
								</p>
								<label for="captcha">Resultat :</label>
								<input type="text" name="captcha" class="resultat" />
								<span class="error"><?php if(isset($erreurcaptcha)) echo $erreurcaptcha;?></span>
			
								<input type="submit" class="submit" value="Envoyer" />
         
							</fieldset>
			
						</form>
					</div>
                    <div id="contact_droite"><object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="255" height="417">
						<param name="movie" value="images/pub_real_mariage.swf">
						<param name="quality" value="high">
						<embed src="images/pub_real_mariage.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="255" height="417"></embed></object></div>
				</div>
			</div>

			<?php include('include/footer.inc.php'); ?>
		</body>
	</html>
Un grand merci d'avance pour mon sauveur

Re: Probleme d'envoie de mail

Posté : 10 mars 2012, 14:02
par Damb34
personne? ^^

Re: Probleme d'envoie de mail

Posté : 10 mars 2012, 14:16
par MEGAFILES
Essai de faire un code plus simple !

Pour envoyer un email, je fais
$header = "From: MONSITE <[email protected]>"; 
$messages = "Ton MEssage /n"; // /n pour sauter des lignes
$messages .= "Encore Message /nMONSITE - ANNEE";

$subject = "Sujet";

$to = mysql_real_escape_string(trim($_POST['email']));

if (mail($to, $subject, $messages, $header))
{
//Complete
}



Re: Probleme d'envoie de mail

Posté : 10 mars 2012, 21:50
par Ryle
Glisse un exit() entre l'appel à la fonction mail et le header(). Ca te permettra de voir s'il y a un message d'erreur lors de l'exécution de la fonction mail (lorsque php utilise un buffer, il se peut que le header te redirige même s'il y a eu des erreurs avant, résultat tu loupes les messages d'erreur éventuels... une fois le problème résolu, tu vires le exit et hop c'est reparti :)