Lecture d'e-mails à l'aide de Pop3 en C#
Je suis à la recherche d'une méthode de lecture des e-mails à l'aide de Pop3 en C# 2.0. Actuellement, je suis en utilisant le code trouvé dans CodeProject. Cependant, cette solution n'est pas idéale. Le plus gros problème, c'est qu'il ne prend pas en charge les e-mails écrits en unicode.
Vous devez vous connecter pour publier un commentaire.
J'ai utilisé avec succès OpenPop.NET pour accéder à des e-mails via POP3.
télécharger les mails via le protocole POP3 est la partie facile de la tâche. Le protocole est assez simple et le plus difficile pourrait être avancée des méthodes d'authentification si vous ne voulez pas envoyer un mot de passe en clair sur le réseau (et ne peut pas utiliser le protocole SSL cryptée canal de communication). Voir RFC 1939: Post Office Protocol - Version 3
et RFC 1734: l'Authentification POP3 commande pour plus de détails.
La partie la plus difficile vient quand vous avez à analyser l'e-mail reçu, ce qui signifie que l'analyse au format MIME dans la plupart des cas. Vous pouvez écrire quick&sale analyseur MIME dans quelques heures ou quelques jours et il va traiter 95% de tous les messages entrants. L'amélioration de l'analyseur de sorte qu'il peut analyser presque n'importe quel e-mail qui signifie:
Débogage d'un robuste analyseur MIME faut des mois de travail. Je sais, parce que je regardais mon ami à l'écriture d'un tel analyseur pour l'élément mentionné ci-dessous et a écrit quelques tests unitaires pour ça aussi 😉
Revenir à la question initiale.
Suivantes code prises à partir de notre POP3 page du Tutoriel et des liens qui pourrait vous aider:
Mon application open source BugTracker.NET inclut un client POP3 capable d'analyser le MIME. Les deux POP3 code et le MIME code sont d'autres auteurs, mais vous pouvez voir comment il s'adapte à tous ensemble dans mon application.
Pour l'analyse MIME, j'utilise http://anmar.eu.org/projects/sharpmimetools/.
Voir le fichier POP3Main.cs, POP3Client.cs, et insert_bug.aspx
Vous pouvez également essayer Mail.dll mail de la composante, il a le support SSL, l'unicode, et les multi-nationales de support par email:
Vous pouvez le télécharger ici au https://www.limilabs.com/mail
Veuillez noter que ceci est un produit commercial, j'ai créé.
Je ne recommanderais pas OpenPOP. Je viens de passer quelques heures de débogage d'un problème - OpenPOP de POPClient.GetMessage() a été mystérieusement retourner null. J'ai débogué cela et trouvé que c'était une chaîne indice de bug - voir le patch, j'ai présenté ici: http://sourceforge.net/tracker/?func=detail&aid=2833334&group_id=92166&atid=599778. Il était difficile de trouver la cause car il y a des vides catch{} blocs d'avaler des exceptions.
Aussi, le projet est principalement dormant... la dernière version a été en 2004.
Pour l'instant, nous sommes toujours à l'aide de OpenPOP, mais je vais prendre un coup d'oeil à certains des autres projets de gens ont recommandé ici.
HigLabo.Mail est facile à utiliser. Voici un exemple d'utilisation:
vous pouvez l'obtenir à partir d' https://github.com/higty/higlabo ou Nuget [HigLabo]
appelez-moi démodé, mais pourquoi utiliser une 3ème partie de la bibliothèque d'un protocole simple. J'ai mis en place POP3 lecteurs dans basé sur le web ASP.NET application avec le Système.Net.Les Sockets.TCPClient et du Système.Net.De sécurité.SslStream pour le cryptage et l'authentification. Aussi loin que les protocoles d'aller, une fois que vous ouvrez la communication avec le serveur POP3, il ya seulement une poignée de commandes que vous avez à traiter. C'est un très protocole facile de travailler avec.
J'ai juste essayé de SMTPop et cela a fonctionné.
smtpop.dll
référence à mon C# .Un projet de réseauA écrit le code suivant: