2009-03-18 8 views
2

Je voudrais écrire un service qui vérifie périodiquement un nouveau compte POP3 pour les nouveaux messages et basé sur la logique métier personnalisée transmet les messages à un "À" approprié, et modifie éventuellement le "De " ainsi que. Il se peut que je doive conserver certains messages sur le serveur jusqu'à ce que certaines conditions soient prêtes pour leur transmission.Expéditeur personnalisé message Pop3 vers SMTP en C#

J'ai trouvé un échantillon en utilisant des composants Chilkat .NET qui pourrait fonctionner: http://www.example-code.com/csharp/pop3_forwarder.asp

Ma question est: Y at-il d'autres exemples dans l'espace .NET à l'aide d'autres composants?

Merci!

Répondre

4

Voici SO questions/réponses pourraient aider à trouver des composants pour la partie POP3 de votre porject:

Et vous pouvez utiliser SmtpClient dans System.Net. Mail pour l'envoi des mails:

+0

Merci pour le pointeur. J'ai trouvé "POP3 Email Client de Peter Huber avec le support MIME complet" à http://www.codeproject.com/KB/IP/Pop3MimeClient.aspx et il semble que cela fonctionnera bien. Il a une API facile, et il télécharge chaque message d'un serveur POP3 en tant que "System.Net.Mail.MailMessage". – Troy

+0

... puis je peux modifier le message en fonction de mes besoins, puis transférer le MailMessage en utilisant System.Net.Mail.SmtpClient. – Troy

0

J'ai implémenté quelque chose de très similaire en utilisant les composants IMAP, POP et SMTP de MailBee. J'ai peur qu'ils ne soient pas gratuits, mais je les ai trouvés assez solides et le support d'AfterLogic est rapide.

Il ya aussi le code source (y compris le code source) LumiSoft Mail Server, qui prend en charge le relais POP3 pour collecter les messages d'un serveur POP3 et les gérer à partir de là, vous pouvez l'adapter? (Il est écrit en C#, est agréable de travailler avec et met à jour proprement à VS2008). Je n'ai eu aucun problème avec ça non plus.

0

Essayez Mail.dll .NET email component. Il a le support SSL, les clients POP3 et SMTP.

using(Pop3 pop3 = new Pop3()) 
{ 
    pop3.Connect("mail.host.com"); // Connect to the server 
    pop3.Login("user", "password"); 

    foreach(string uid in pop3.GetAll()) 
    { 
     // Receive mail 
     IMail mail = new MailBuilder() 
    .CreateFromEml(pop3.GetMessageByUID(uid)); 
     Console.WriteLine(mail.Subject); 
    } 
    pop3.Close(true); 
} 

Vous pouvez download it here