Problème sur un mail générer par php

WRInaute discret
Bonjour,

voilà depuis 2 jours que je me prens la tête à savoir si c'est mon code qui plante où s'il y a une erreur lors de l'envoil mail avec la fonction mail de php !!!!

Je voudrais savoir si la fonction mail php arrive toujours à 100% à envoyer des messages sans erreur, c'est à dire que l'utilisateur reçoit dans tous les cas le mail, si biensûr la fonction mail est bien paramétrer...

Si ce n'est pas le cas, comment faites-vous pour vos utilisateurs qui s'inscrivent et qui doivent valider leur inscription en cliquant sur un lien du message à les inscrire sur votre liste des membres???

PHP tu me gaves...

Merci
 
WRInaute impliqué
PHP fait ce que tu lui demandes de faire, apres si on voit pas ton code je vois pas comment on peut t'aider. Je connais un site qui a 100 000 membres qui gere ses inscriptions par validation par mail, ca doit pas lui poser de problemes apparament :)
 
WRInaute discret
Voici mon code pour les pros :

if($JavaActive){
// On regarde si ce login existe déjà
$SQL="select * from utilisateurs where loginUtilisateur='$Loginn'";
$ResultatUtilisateur=$bd->ExecRequete($SQL);
$Utilisateur=$bd->ObjetSuivant($ResultatUtilisateur);

if(!isset($Utilisateur->LoginUtilisateur)){
// L'utilisateur inscrit on lui envoit un mail afin qu'il puisse activer son compte
$Adresse=$Email;
$Sujet="Activation de votre compte";
$CodeActivation=rand(0,65536);
$AdresseLien="http://www.footinfo.biz/Inscription/Inscription_ok.php?Login=$Loginn&CodeActivation=$CodeActivation";
$Corps="
Bonjour $Loginn.<br><br>
Vous devez confirmer la validité de votre adresse email pour avoir accès<br>
à votre compte personnel afin de pouvoir profiter pleinement des forums<br>
dédiés aux matchs du Loto Foot.<br><br>

Votre nom d'usager : $Loginn<br>
Votre mot de passe : $Passe<br>
Cliquez le lien ci-dessous ou copiez le dans votre barre d'adresse pour confirmer votre adresse email<br><br>
<a href='$AdresseLien'>$AdresseLien</a>
<br><br><br>
L'équipe de fOOt'InfO
";

$Entete="From: unlu@hotmail.fr\n";
$Entete.= "MIME-version: 1.0\n";
$Entete.= "Content-type: text/html; charset= iso-8859-1\n";
if(EmailCheck($Adresse,$Err)){
echo $Adresse;
if(mail($Adresse,$Sujet,$Corps,$Entete)){
$Date=date("Y-m-d");
// inscription de l'utilisateur dans la base
$SQL="insert into utilisateurs(LoginUtilisateur,PasseUtilisateur,EmailUtilisateur,DateInscriptionUtilisateur,IdProfilUtilisateur,CodeActivationUtilisateur,NomUtilisateur,PrenomUtilisateur,DateNaissanceUtilisateur,Adresse1Utilisateur,Adresse2Utilisateur,CPUtilisateur,VilleUtilisateur,PaysUtilisateur) values ('$Loginn','$Passe','$Email','$Date','2','$CodeActivation','$Nom','$Prenom','$DateNaissance','$Adresse1','$Adresse2','$CP','$Ville','$Pays')";
$bd->ExecRequete($SQL);
echo "Un mail vient d'être envoyé à votre boîte de réception afin que vous puissiez activer votre compte";
echo "<br>Votre compte activé vous pourrez jouïr pleinement de ce site";
$InscriptionEffectue=1;
}
}
else{
echo "Attention votre adresse email est invalide :\n$Err";
$PasBon=1;
}
}
else{
echo "Le login $Loginn que vous avez saisi existe déjà...\n<br>";
echo "Veuillez en saisir un nouveau svp...";
$PasBon=1;
}
}
else{
echo "Veuillez activé les activations de script JavaScript svp.";
$PasBon=1;
}
 
WRInaute impliqué
Entre balises codes c'est encore mieux :mrgreen:

En fait c'est l'envoi du mail qui marche pas chez toi ? J'ai l'impression que mettre mail dans une condition ca risque de pas marcher, parce que faut voir si ca renvoie true ou 1

http://fr.php.net/mail
 
WRInaute discret
En gros ca marche 3 fois sur 4.

Genre les adresses mails hotmail marchent à 100%, les adresses mails noos 50%...

Vous voyez le truc...

Moi je pige pas...
 
WRInaute discret
En PHP true est équivalent à une valeur différente de 0.
Donc si la fonction mail renvoit 1 ou true c pareil. Donc on peut bien mettre la fonction mail dans un if !
 
WRInaute impliqué
Bah si ca renvoie rien tu fais comment ~~ Bon la ca renvoie true, pour que ca marche bien l'inscription, tu enleve ta condition, comme ca le mec il est enregistre, et apres tu met un truc pour re recevoir le mail d'inscription, il finira bien par le recevoir. Apres c'est les fournisseurs de mails qui ont leurs filtres
 
WRInaute discret
A ma connaissance la fonction mail renvoit toujours une valeur:
true dans le cas ou le message est envoyé et false dans le cas contraire...
Moi mon problème c'est que le message part mais le destinataire reçoit rien !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 
WRInaute discret
Plus de précision sur mon code.

Il n'y a pas à se douter si le message ne doit pas partir. Quand le message ne doit pas partir tout marche impec !
C'est quand tout a bien été saisi qu'il y 'a parfois un bug... Le message part donc la fonction mail renvoit true mais le message est recu parfois 1 fois sur 2...
 
WRInaute discret
mowmow,

merci pour ton aide mais ta façon de procéder est illogique, je n'inscris pas l'utilisateur si le message n'est pas parti ???
 
WRInaute impliqué
unlu a dit:
mowmow,

merci pour ton aide mais ta façon de procéder est illogique, je n'inscris pas l'utilisateur si le message n'est pas parti ???

Rah mais non contraire ! :lol:

Tu inscris le membre dans tous les cas, mail recu ou pas, et apres tu mets en place un systeme de renvoi du mail d'inscription ;)
 
WRInaute discret
mowmow,

je crois que tu as raison, ce sont les fournisseurs de mail qui doivent poser problème, en effet il y des host genre hotmail pour lesquels ca marchent toujours... Il y'en a ca marche une fois sur 2.

C trop bête !!
 
WRInaute impliqué
unlu a dit:
mowmow,

je crois que tu as raison, ce sont les fournisseurs de mail qui doivent poser problème, en effet il y des host genre hotmail pour lesquels ca marchent toujours... Il y'en a ca marche une fois sur 2.

C trop bête !!

Et ouais, mais c'est bizarre, normalement c'est hotmail qui pose probleme avec son filtre a la c**, messages indesirables n'importe quoi. Gmail forever xD
 
WRInaute discret
Ah ouai mowmow,

Pas bête ta façon de procéder mais j'avais pas compris comme ca...
Merci ben je vais mettre en place le système de renvoit de mail.

Merci quand même pour ton aide et excuse moi.
 
WRInaute discret
C 'est clair qu'avec hotmail parfois mes messages vont dans indésirable.

C'est clair ils sont trop c**
 
WRInaute impliqué
J'ai mis ca en place pour mon futur site, pour eviter les problemes lies au mail, apres plusieurs renvois de mail, je demande au membre de me contacter pour une validation de son compte.
 
WRInaute discret
Conclusion :
La fonction mail de php bug d'après mon analyse.

faudrait envoyer un topo aux développeurs de PHP pour leur dire d'améliorer la fonction mail.

Il faudrait que lorsque le mail est envoyé, la fonction renvoit true dans le cas ou le message est bien réceptionné. Il devrait rajouter un morceau de code genre "Accusé de réception".

Y'a pas moyen de faire un truc comme ca en PHP?
 
WRInaute impliqué
La fonction mail ne bug pas, ce sont les differents filtres des fournisseurs de mail, je me repete. Pour les accuses de reception, tu met un truc genre <img src="tonsite.com/image.php" width="1" height="1"> et qpres sur image.php tu genere une image de 1*1 et tu t'envoie un mail pour confirmer la reception, car quand l'utilisateur ouvre le mail, il ouvre le code source php
 
WRInaute impliqué
Ouais j'y pensais aussi, plutot un probleme de header ... Apparament le mec a trouve la solution, donc profites en ;)
 
WRInaute discret
Code:
$Entete="From: unlu@hotmail.fr\n";
				$Entete.= "MIME-version: 1.0\n"; 
				$Entete.= "Content-type: text/html; charset= iso-8859-1\n";
				$Entete .= "Reply-to : unlu@hotmail.fr\n";
				$Entete .= "X-Mailer:PHP\n";
				$Entete .= "Return-Path: <unlu@hotmail.fr>\n";

Voila comment bien paramétrer cette fonction mail.

La ca a l'air de marcher.[/quote]
 
Discussions similaires
Haut