emailing, comment savoir si le mail existe toujours ou non? - Version imprimable +- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org) +-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38) +--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51) +--- Sujet : emailing, comment savoir si le mail existe toujours ou non? (/showthread.php?tid=5527) Pages :
1
2
|
emailing, comment savoir si le mail existe toujours ou non? - Argorate - 04-07-2011 Bonjour, Je voulais savoir si quelqu'un connaissais un moyen simple de savoir, lors d'une capagne de mail, comment récupérer les adresses qui ne fonctionnent plus (car n'existant pas ou plus)? Merci. RE: emailing, comment savoir si le mail existe toujours ou non? - Dexyne - 04-07-2011 Bah si elle existe pas/plus tu ne reçois pas un message d'erreur ? RE: emailing, comment savoir si le mail existe toujours ou non? - sharyma - 04-07-2011 Moi je procèderais comme ça : 1) dans la bdd, un champ "mail_valide" qui est sur 0 par défaut (0 signifiant dans ce cas que l'email est valide, et 1 qu'il ne marche pas) 2) lors de l'envoi du mail : Code : if (!mail(blabla)) Du coup quand tu fais ton e-mailing, tu n'envoies qu'aux utilisateurs dont mail_valide = 0 RE: emailing, comment savoir si le mail existe toujours ou non? - ToraTora - 04-07-2011 Tu peux utiliser l'argument -f de la fonction mail : Code : mail($to, $object, $message, $headers, "-f$errorTo") Si une erreur survient (adresse introuvable par exemple), tu recevra un mail de bounce back à l'adresse $errorTo. Code : if (!mail(blabla)) RE: emailing, comment savoir si le mail existe toujours ou non? - Sephi-Chan - 04-07-2011 Une autre astuce est d'intégrer une image transparente dans le mail dont la source est sur le Web. Quand cette image est chargée, tu peux considérer que l'utilisateur a lu l'email et mettre à jour une colonne DATETIME (read_last_email_at, par exemple) de cet utilisateur.
Mon application capte les URL de la forme "/users/:id/:email_token/validate_email(.format)" et mon action s'occupe de la traiter :
Je récupère l'utilisateur, puis je vérifie la correspondance du jeton reçu et du véritable jeton. Si ça correspond, je mets à jour la date de réception et je génère un nouveau jeton afin qu'un utilisateur ne puisse pas simuler la réception d'un email. Et dans tous les cas, mon action sert un GIF transparent de 1x1. Voilà pour l'astuce ! RE: emailing, comment savoir si le mail existe toujours ou non? - sharyma - 04-07-2011 Erf oui j'suis bête, ça sert juste à voir si le mail a bien été envoyé ou pas >< *boulette* Je ne connaissais pas ta solution par contre, c'est bon à savoir ! Comme quoi il faut toujours lire la doc avant d'utiliser une fonction lol. Par contre, je suis persuadée qu'il y a moyen d'améliorer ça. Il faudrait réussir à détecter si un email de bounce back est envoyé ou non (je suis sûre que c'est possible) et si oui, modifier le champ dont j'avais parlé. Parce que s'il faut traiter tous les mails reçus, c'est vite l'enfer ! S'il y en a un ou deux ça va, mais s'il y en a des centaines, voire des milliers... RE: emailing, comment savoir si le mail existe toujours ou non? - ToraTora - 04-07-2011 Oui, une fonction qu'on reçoit les bounce back, il faut les vérifier 1 à 1... La méthode de Sephi-Chan me paraît plus adaptée, mais on ne peux pas vraiment savoir si l'email n'a jamais été ouvert ou bien si il n'existe plus. Il faudrait définir un temps maximum de réponse avant de considérer l'email comme "invalide". La bounce back lui arrive quasiment immédiatement après l'envoi à une adresse inexistante. RE: emailing, comment savoir si le mail existe toujours ou non? - Argorate - 04-07-2011 Je me suis sans doute mal exprimé, le fait de mettre une image dans le mail j'ai déjà prévu de la faire mais a des fin de statistiques (cb de personne ont lu le mail), mais ça ne pas pas être une solution dans le cas présent. Si une adresse mail n'existe pas, on reçois un mail nous le disant en effet, mais ce n'est pas exploitable. j'entends par là, que j'aimerais faire un script qui puisse supprimer les mails qui n'existe plus de ma bdd. Mais comme je le pensais, Toratora me le confirme, if(!mail()) ne règle pas la question (sinon se serait trivial et je ne vous ennuierais pas avec ça ^^) Donc, y a t-il une solution exploitable? ou es-ce qu'on doit le faire un par un? RE: emailing, comment savoir si le mail existe toujours ou non? - ToraTora - 04-07-2011 Une petite recherche et j'ai trouvé 2-3 trucs : http://www.weberdev.com/get_example.php3?ExampleID=4015 http://davidwalsh.name/gmail-php-imap Je ne sais pas ce que ça vaut. Regarde du côté de IMAP : http://www.php.net/manual/fr/book.imap.php Tu dois pouvoir te faire un script qui va se logguer sur ta boite mail et analyser tes messages RE: emailing, comment savoir si le mail existe toujours ou non? - Viciousity - 04-07-2011 Ben le système de Sephi couplé à un timestamp(qui permet de vérifier à l'aide d'un cron par exemple si le mail n'a pas été lu depuis X temps, déterminant ainsi si une adresse est active ou pas). Dans le cas d'une adresse inactive depuis un mois, on envoie un mail qui oblige l'utilisateur a confirmer celui-ci et on l'"empeche" de se connecter tant qu'il n'a pas rentré une adresse valide. Si au bout de 2 mois il n'a toujours pas répondu ou changer d'email, on la supprime de la BDD |