Probleme denvoi

Bonsoir,
Voici le problème qui se pose avec l’inscription. Tout se passe bien quand un membre s’inscrit, il est enregistré dans la base de données seulement il ne reçoit pas de mail de validation de son compte. Ce problème se pose seulement avec yahoo car avec gmail, il reçoit le mail dans le dossier Spams. Après avoir fair plusieurs tests, j’ai constaté que le problème se pose au niveau du lien dans le mail. le lien est www.ubgsarl.com…[/url] Quand je met par exemple [url=http://www.ubgsarle.com/valider.php?compte=’.$id.’]www.ubgsarle.com… ça passe sans problème donc le problème se pose certainement sur le nom de domaine ubgsarl.com. J’espère que quelque peux me dire ce qui se passe. J’ai mis en pièce jointe le fichier php.

<?php
	include("connexion.php");
	include "phpmailer/class.phpmailer.php";
	if(!empty($_POST))
	{	if(!empty($_POST['nom']) AND !empty($_POST['prenom']) AND $_POST['sexe']!="Sexe" AND !empty($_POST['email']) AND $_POST['jour']!="Jour" AND $_POST['mois']!="mois" AND $_POST['annee']!="Année" AND !empty($_POST['conpswd']) AND !empty($_POST['pswd']))
		{
			$nom = $_POST['nom'];
			$prenom = $_POST['prenom'];
			$email = $_POST['email'];
			if(preg_match("#^[a-z0-9._-]+@[a-z0-9._-]{2,}\.[a-z]{2,4}$#", $email))
			{
				$pswd = $_POST['pswd'];
				$conpswd = $_POST['conpswd'];
				if($pswd==$conpswd)
				{
					if($_POST['jour']<10)
					{
						$jour = "0".addslashes($_POST['jour']);
					}
					else
					{
						$jour = addslashes($_POST['jour']);
					}
					if($_POST['mois']<10)
					{
						$_POST['mois'] = $_POST['mois'] + 1;
						if($_POST['mois']<10)
						{
							$mois = "0".$_POST['mois'];
						}
						else
						{
							$mois = $_POST['mois'];
						}
						
					}
					else
					{
						$_POST['mois'] = $_POST['mois'] + 1;
						$mois = $_POST['mois'];
					}
					$annee = $_POST['annee'];
					$an = $annee."-".$mois."-".$jour;
					$sexe = $_POST['sexe'];
					$password = sha1($pswd);
					$sql = "SELECT idpersone,email FROM personne WHERE email='$email'";
					$resultat = mysql_query($sql) or die ("Erreur Sql: ".$sql."<br />".mysql_error());
					$nbre = mysql_num_rows($resultat);
					if($nbre>0)
					{
						echo "<div class='erreur'>Cette adresse mail existe d&eacute;j&agrave;.</div>";
					}
					else
					{
						$req = "INSERT INTO personne VALUES('','$nom','$prenom','$an','','','','','','','$email','$password','',DEFAULT,'','','',NOW(),'$sexe',DEFAULT)";
						mysql_query($req) or die ("Erreur Sql2: ".mysql_error());
						$id=mysql_insert_id();
						$dest1=$email; 
						 $mail = new PHPmailer();
						//$mail->IsSMTP();
						$mail->IsHTML(true);
						$mail->Host='localhost.hosteur.com';
						//$mail->Host='mrs31.hosteur.com';
						 $mail->From='inscription@ubgsarl.com';
						 $mail->AddAddress($email);
						 $mail->AddReplyTo('inscription@ubgsarl.com');
						 $mail->FromName='Universal Business Group';
						$mail->Subject='Bienvenu sur le réseau UBG';
						$message = '<div style="padding:5px; width:600px; background-color:#d8dfea; border:#000000 thin solid">
							<div>
								
							</div>
							<div>
								<h4 style="color:#274E9C; text-decoration:underline">Message de validation de votre compte</h4>
							</div>
							<div>
								Félications, '.$prenom.' '.$nom.' ;<br />
								Heureux de vous retrouver sur le réseau d\'affaires UBG, Voici vos paramètres de connexion :  <br />
								Email : '.$email.', <br />
								Mot de passe : '.$pswd.'.<br />
								Pour valider votre inscription, cliquez sur le lien ci-dessous :<br />
								http://www.ubgsarl.com/valider.php?compte='.$id.'.
							</div>
							---------------
							Ceci est un mail automatique, Merci de ne pas y répondre.
						</div>';
						 $mail->Body='<html><body><head><style>.entete{background-color:#0000FF;color:#FFFFFF;border:solid 3px;font-size:25px}';
						$mail->Body.='.ligne{color:#0000FF;border:solid 1px;text-align:center;font-size:23px}</style></head>';
						$mail->Body.='<center><table><tr><td class="entete">Voici un exemple d\'e-mail au format HTML</td></tr>';
						$mail->Body.='<tr><td class="ligne">Ceci est un tableau HTML</td></tr></table></center></body></html>'; 
						$mail->Body = $message;
						if(!$mail->Send()){ //Teste si le return code est ok.
						  echo $mail->ErrorInfo; //Affiche le message d'erreur (ATTENTION:voir section 7)
						}
						else{	  
						  echo 'Mail envoyé avec succès';
						}
						$mail->SmtpClose();
						unset($mail);
											
					}
				}
				else
				{
					echo "<div class='erreur'>Veuillez confirmer votre mot de passe SVP.</div>";
				}
			}
			else
			{
				echo "<div class='erreur'>Cette adresse mail est invalide</div>";
			}
		}
		else
		{
			echo "<div class='erreur'>Veuillez remplir tous les champs SVP.</div>";
		}
	}
?>

<div class="titre_inscription">
	Inscription
</div>
<form action="<?php echo $_SERVER['REQUEST_URI']; ?>" method="post" name="form1">
<table>
<tr>
<td align="right">
Nom: 
</td>
<td>
<input type="text" name="nom" size="50">
</td>
</tr>
<tr>
<td align="right">
Pr&eacute;nom:
</td>
<td>
<input type="text" name="prenom" size="50">
</td>
</tr>
<tr>
<td align="right">
Adresse electronique:
</td>
<td>
<input type="text" name="email" size="50">
</td>
</tr>
<tr>
<td align="right">
Mot de passe:
</td>
<td>
<input type="password" name="pswd" size="50">
</td>
</tr>
<tr>
<td align="right">
Confirmez le mot de passe:
</td>
<td>
<input type="password" name="conpswd" size="50">
</td>
</tr>
<tr>
<td align="right">
Date de naissance:
</td>
<td>
<select name="jour">
<option>Jour</option>
<?php 
for($i=1;$i<=31;$i++)
{
	echo "<option value='".$i."'>".$i."</option>";
}
?>
</select>
<select name="mois">
<option>Mois</option>
<?php 
$tab = array('Janvier','F&eacute;vrier','Mars','Avril','Mai','Juin','Juillet','Ao&ucirc;t','Septembre','Octobre','Novembre','D&eacute;cembre');
for($i=0;$i<=11;$i++)
{
	echo "<option value='".$i."'>".$tab[$i]."</option>";
}
?>
</select>
<select name="annee">
<option>Ann&eacute;e</option>
<?php  
		$annee = date("Y");
		for($i=$annee; $i>=1930; $i--)
		echo '<option value="'.$i.'">'.$i.'</option>';
		echo "</select>";
?>
</select>
</td>
<td>
</td>
</tr>
<tr>
<td align="right">
Sexe:
</td>
<td>
<select name="sexe">
<option>Sexe</option>
<option value="masculin">Masculin</option>
<option value="feminin">F&eacute;minin</option>
</select>
</td>
</tr>
<tr>
<td>
<td>
<input name="button" type="submit" class="inscription" id="button" value="Inscription" />
</td>
</table>
</form>

Réponse simple qui me vient à l’esprit, Yahoo filtre le mail dès le départ.

Essaye d’envoyer le texte de ton mail de validation via un copier/coller dans un mail “normal” envoyé depuis ton Outlook ou autre et regarde si tu reçois un message d’erreur, sinon si tu ne vois rien en retour, tente un envoi direct en saisissant le serveur smtp de yahoo et tu verras si tu te prends une erreur.

Salut,

Oui, d’après ce que tu nous dit le problème ne vient pas de ton code PHP mais d’un filtrage au niveau des boîtes aux lettres…
Par contre je ne sais pas si on peut y faire grand chose. :frowning: