Question

Quelqu'un peut-il recommander un logiciel ou une bibliothèque .NET qui vérifiera les e-mails renvoyés et la raison du rebond ?Je reçois des e-mails renvoyés sur un compte pop3 que je peux ensuite lire.

J'en ai besoin pour garder ma base de données d'utilisateurs exempte d'adresses e-mail invalides et je souhaite automatiser cela (marquer l'utilisateur comme e-mail invalide).

Était-ce utile?

La solution

J'ai fait beaucoup de travail en gérant les e-mails rebondis et il en existe différents types.Si vous voulez être absolument sûr que l’e-mail que vous consultez est bien un rebond d’un type spécifique, je vous recommande fortement de vous procurer un bon filtre.j'ai travaillé avec Outils de boogie et cela a très bien fonctionné.Il vous permet de savoir de quel type de rebond il s'agit : dur, doux, transitoire ou même si quelqu'un essaie de se désinscrire.Il dispose de plusieurs API, dont .Net, et j'ai trouvé qu'il était assez facile de travailler.

Autres conseils

comme abfo dit, le protocole POP3 est super simple, recevoir les messages est une évidence.Analyser les messages pour identifier les échecs est plus difficile, et analyser de manière fiable quel e-mail a causé l'échec et pourquoi il a échoué est vraiment difficile.Le problème est que les messages rebondis n'ont pas de format standard, les formulaires par défaut varient d'un MTA à l'autre.Ensuite, la raison de l'échec peut être modifiée par l'administrateur du site, ce qui la rend plus difficile à reconnaître, et l'administrateur du site peut modifier le modèle de message d'échec, ce qui le rend presque impossible.

Voyez si vous pouvez trouver un gestionnaire de liste de diffusion .NET et si vous pouvez réutiliser le code de gestion des rebonds.À défaut, voyez si vous pouvez modifier l'outil qui envoie les messages pour envoyer chaque e-mail à partir d'un expéditeur d'enveloppe unique (et réversible) (VERP, je pense que ça s'appelle ?).De cette façon, vous n'avez pas besoin d'analyser le corps de l'e-mail, vous pouvez déterminer quel destinataire a échoué en examinant l'adresse du destinataire du message d'échec.

C'est assez facile à faire avec un TcpClient.Ouvrez le serveur :

TcpClient tcpClient = new TcpClient();
tcpClient.Connect(POP3Server, POP3Port);
NetworkStream stream = tcpClient.GetStream();

Lisez le message de bienvenue :

int read = stream.Read(inBuffer, 0, inBuffer.Length);
string response = Encoding.ASCII.GetString(inBuffer, 0, read);
if (response.IndexOf("+OK") != 0) throw new ...;

Écrivez au serveur :

byte[] outBuffer = Encoding.ASCII.GetBytes("USER " + account + "\r\n");
stream.Write(outBuffer, 0, outBuffer.Length);

Cela envoie la commande USER.Vous devez vous connecter et vous pourrez ensuite commencer à récupérer des messages - voir le POP3 RFC pour la liste complète des commandes.Si vous ne cherchez pas à créer le vôtre, jetez un œil à ceci Article de CodeProject.

Merci pour la réponse, super!J'ai fait quelques recherches moi-même et j'ai trouvé ListeNounou - également super simple à utiliser et vous indique le type de rebond.J'écrirai une preuve de concept et je verrai laquelle je préfère...

Votre question m'a fait réaliser que le plugin Wordpress Newsletter que j'allais utiliser, n'avait pas de gestion des rebonds et que j'aurais également besoin de quelque chose.

J'ai regardé autour de moi pendant un moment et j'ai opté pour le logiciel gratuit et open source Gestionnaire de newsletter PHPlist.

Ils décrivent en détail leurs paramètres de gestion des rebonds et ils ont un expérimental fonctionnalité avancée de gestion des rebonds cela vous permettra de personnaliser la gestion des rebonds exactement comme vous le souhaitez.

Même si vous décidez de ne pas utiliser PHPlist, lire comment ils le font vous sera utile.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top